バリデーション機能の使い方|Laravel
Laravelでは入力に対するバリデーション機能が用意されています。バリデーション機能を使うと入力チェックが簡単に行えたり、エラー時に前回入力値をフォームへ反映してくれるため非常に便利です。
個人的にはフォームへの前回入力値反映は開発コストが減るのでありがたいです。
バリデーションの使い方
バリデーションの構文は$this->validate()
と、$request->validate()
を使うパターンがあります。
以下は実際に送信フォームのバリデーションを行うサンプルになります。
サンプルソース
送信フォーム

バリデーション
コントローラのアクションメソッドでvalidate()
をコールします。
ルール
ルールは'属性名' => 'バリデーションルール'
の連想配列で指定します。
バリデーションルールは|
で複数指定可能です。使用可能なバリデーションルールについては公式ドキュメントを参照してください。
フォーム側でregist_date[year]
のように指定した属性名はドット記法で'regist_date.year'
のように指定します。
エラーメッセージ
エラーメッセージは任意のパラメータです。デフォルトのエラーメッセージをカスタマイズしたい場合に使用します。'バリデーションルール' => 'エラーメッセージ'
や'属性名.バリデーションルール' => 'エラーメッセージ'
のように連想配列で指定します。
サンプルにある:attribute
には属性名が入ります。
属性名
エラーメッセージは任意のパラメータです。:attribute
に入る文字列をカスタマイズしたい場合いに使用します。'属性名' => '表示名'
の連想配列で指定します。
エラーメッセージの表示
Blade側で$errors
変数を利用して出力します。all()
メソッドで全フィールドの全エラーメッセージの配列が取得できます。
