概要
フォームリクエストクラスを使って、バリデーションの機能をコントローラー側で処理するのではなく、その手前にバリデーションを行うようにします。
実践
フォームリクエストクラス
php artisan make:request SampleRequest
上記のように、artisanコマンドを実行すると、リクエストクラスのファイルが”app\Http\Requests”に作成されます。
その後、 authorizeメソッドとrulesメソッドの中身を以下のように編集しました。
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|max:32',
'age' => 'required|numeric'
];
}
authorizeメソッドは、バリデーションを行う場合にtrueを返すように設定します。
どのような時に使うのかというと、ユーザー認証されているかや、権限を満たしているかを確認し、満たしているときにのみ、バリデーションを行うよう設定できます。
rulesメソッドは、戻り値にバリデーションルールの配列を渡します。
コントローラー
public function receive(SampleRequest $request){
return view('receive');
}
コントローラー側では、リクエストを受信するアクションメソッドの引数に、作成したフォームリクエストクラスの引数を設定することで、使用することができます。