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をご利用の方はぜひご活用ください。

 

関連するカスタマイズ

注文確認画面のお届け日を変更する方法... 結論 : ShoppingServiceのgetFormDeliveryDates()を確認する。 config.ymlでdeliv_date_end_maxを設定すると表示される選択肢の日数を変更できる。 注文時に選択可能なお届け日を調整する方法をご紹介します。 この選択可能な日付のリス...
Nginxでのリライトと高速化設定 NginxでEC-CUBE3系を動作させる場合の設定について、ご紹介します。 NginxではApacheと異なり標準で用意された.htaccessが動作しないため、nginx.confへリライト設定を記述する必要があります。 サーバー上のコマンドで設定ファイルを編集します。 sudo ...
GMO Paymentカード決済プラグインでエラー... 開発環境などにEC-CUBEペイメントプラグイン(GMO Paymentカード決済)を導入すると、決済やクレジットカード登録の際にCurlMulti.phpのServer aborted the SSL handshakeエラーが出ることがあります。 CurlException in Cu...
会員登録した日時を表示・取得する方法... サイトテンプレートや送信メール内で会員登録した日時を表示する場合の方法についてご紹介いたします。 会員に送信するメールやマイページ等で会員登録した日時を表示したい場合があると思います。 会員登録日時の取得・表示方法についてご紹介いたします。 PHPファイル内では次のように取得します...

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

カスタマイズやプラグイン開発お任せください