Laravel でバリデーションをする時、FormRequest を継承したクラスを定義しなくても、コントローラに以下のように書く事でバリデーションができます。
FormRequest を使うほどの汎用性もボリュームもない場合は、この方法でも良いのではないでしょうか。
$this->validate( $request, [ 'title' => 'required|min:3', 'body' => 'required' ], );
エラーメッセージをカスタマイズしたい場合、フォームリクエストを使用したときは messages() メソッドにその内容を書いていくけど、この場合はどうすれば?
と思って調べてみた。
単に、validate の第2引数に、メッセージの内容を渡すだけでOKです。
$this->validate( $request, [ 'title' => 'required|min:3', 'body' => 'required' ], [ 'title.required' => 'please enter title.', 'body.required' => 'please enter body.' ] );
Validatorファサードを使用する場合、こんな感じ。
\Validator::make($request->all(), [ 'title' => 'required|min:3', 'body' => 'required', ], [ 'title.required' => 'please enter title.', 'body.required' => 'please enter body.' ] )->validate();