2018/10/12前回、コントローラにバリデーションを作成しました。バリデーションについてしかし王道ではフォームリクエストにバリデーションを実装します。フォームリクエストにバリデーションを実装すれば使い回しもできるのでコードのリファクタリングにもなります。今回はフォームリクエストについてエントリーします。フォームリクエストについてLaravelではフォームを含む各リクエストに対して、それぞれ固有のバリデーションを設定できるファイルが用意されています。これをフォームリクエストとよび、バリデーションエラー時には入力値とエラー情報を付与して前のページに自動的にリダイレクトしてくれます。バリデーションをパスした時に初めてコントローラー内の処理に移ります。artisanコマンドで自動生成できます。チュートリアル前回作成したチュートリアルを改修します。コントローラに記述したバリデーションの記述をフォームリクエストに移します。2)フォームリクエストを編集このファイルを以下のようにコーディングします。authorize()は権限に関する判定を行うメソッドです。}:バリデーションのルールを記述します。}:デフォルトで表示されるエラーメッセージをカスタマイズします。messages()をオーバーライドします。"メールアドレスの形式で入力してください。"数値で入力してください。"500文字以内で入力してください。メソッド名は変えることはできません。3)コントローラを編集コントローラーの引数に先ほど作成したフォームリクエストのクラスをあてます。フォームリクエストのクラス(ValiDemoRequest.php)に書いたルールでリクエストが自動的に検証されます。view('validation.confirm')->with($data);}DIするクラス(ValiDemoRequest)を変えることで、バリデーションルールを変えることができます。新規登録と更新でルールを変えたいときなどは便利です。フォームリクエストを使うとコントローラは大分すっきりしました。最初のエラーを取得しています。アクセスしてバリデーションがちゃんとかかっているか確認します。