p120 バリデーション
Controllerクラスに組み込まれているValidateRequestsというトレイト(メンバーをまとめてクラスに追加するためのもの)に用意されている機能です。
基本的にはコントローラクラスにあるメソッドとして考えて構いません。
バリデーション 5.4 Laravelの下の方にバリデーションルールの一覧がある。
controllerのメソッド内で$this->validate(リクエスト,バリデーション設定の配列);
を記述すると、
バリデーションエラーがあったらもとのフォームに戻してくれる
<?php public function post(Request $request) { $validate_lure = [ 'inputの名前' => 'バリデーションルール|バリデーションルール2個め' ]; $this->validate($request, $validate_lure); return view(ビュー); }
テンプレート側では$errors
にバリデーションのエラーメッセージを受け取れる。
$errors->all()
をforeachすれば一括で、$errors('inputの名前')
で個別にエラーメッセージを取り出せる。
$errors('inputの名前')
も配列になっているので、$errors->get('inputの名前')
で個別のエラーメッセージ全部取り出せる。
また、old('inputの名前')
で前画面で入力した値を受け取れる。