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

 

関連するカスタマイズ

Twig内で文字列の一部分を切り出す方法 Slice使用... twigテンプレート内で文字列の一部を切り出したい時があります。 そんな時はsliceフィルタを使用してtwig内だけで切り出しを実行することが可能です。 2文字目以降を切り出す(1文字目を削除) sliceフィルタの第1引数は開始位置です。 sliceフィルタにはシンタックスシ...
基本税率を切り捨て、切り上げ、四捨五入に変更... 開発メンバー全員のルールを揃えておくことが重要です。 dtb_tax_ruleテーブルのcalc_ruleの設定値は次の表の通りです。 calc_rule 方式 1 四捨五入 2 切り捨て 3 切り上げ これをマイグレーションで...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...