EC-CUBE3ではFormBuilderで作成したフォームに対して簡単にバリデーション(制限)をかけることができます。

今回の記事では開発によく使用するバリデーションをご紹介いたします。

バリデーションにはFormBuilderのconstraintsオプションを設定します。

 

空欄を禁止する(Assert\NotBlank)

もっともよく使用する、必須項目のためのバリデーションです。

数字のみ(Assert\Regex or Assert\Type)

数量などのフォームで使用します。正規表現使用。

Typeを使って整数値に制限します。

 

10以上の数値(Assert\GreaterThanOrEqual)

上の数値バリデーションと組み合わせることが多いです。

 

1以上10以下の数値(Assert\GreaterThanOrEqual + Assert\LessThanOrEqual)

 

20文字以上100文字以下(文字数制限 Assert\Length)

テキスト系のフォームで活躍する文字数制限のバリデーションです。

 

正規表現(Assert\Regex)

ひらがなやカタカナのバリデーションは正規表現を使用します。自由に制限することができます。

名前や会社名のフリガナフォームで大活躍します。

 

いかがでしょうか。これらのバリデーションはform_widgetで出力したフォームでは自動的に適用されます。

フォームが簡単に作れるのはEC-CUBE3の大きなメリットで、このあたりはEC-CUBE2の時代よりも大幅に便利になりましたね。

EC-CUBE3をご利用の方はぜひご活用ください。

 

関連するカスタマイズ

style.cssに#contents min-height: 100vh;は必要か?... default/css/style.cssに #contents { min-height: 100vh;}という最低の高さ指定があります。 デフォルトテーマでこれを全ページに適用させている理由としては、新規ページ等でコンテンツが少ない場合に、ある程度高さがないと見た目が悪いということだと思...
Bootstrap3のクラスform-controlを取り除く方法(form_widget)... EC-CUBE3.0系ではSymfonyComponentの1つであるFormにより、Twig内では強力な関数form_widget、form_errorsが使用できます。 これらは作成したFormType(定義ファイル)に従って自動で初期データ入力やエラー処理をしてくれるというたいへん便利な...
Choiceタイプ(ラジオボタン)でNoneを消す方法... セレクトボックスやチェックボックス、ラジオボタンを簡単に生成することができるChoiceタイプは非常に強力なフォームタイプです。 ただ添付画像のようにラジオボタンを生成したときにNoneという選択肢が自動で表示されることがあります。 このNoneの消し方は意外と知られてい...
Invalid parameter number: number of bound variable...   クエリビルダを使用して開発していると頻繁に出くわす例外エラーがQueryExceptionです。 その中でも有名なInvalid parameter numberについてご紹介致します。 この例外はクエリビルダにバインドした変数の数と、渡したパラメーターの数が異なると...

弊社はEC-CUBE公式インテグレートパートナーです。