質問: Laravel5.3で、 会員登録画面のバリデーションに引っかかった場合に どの項目でエラーが出たかをログとしてDBに入れる、 という実装をしたいのですが、 バリデーション後の挙動を書く場所がわからず、困っています。 Larvalのバリデーションは、 フォームリクエストか、コントローラへの直書きで実装すると思うのですが、 自動でリダイレクトまでやってしまうので、どこに書けばいいかわからないです。 ミドルウェアにバリデーションルールをすべて移すなら、ifで分岐する形になるので、できないことはないと思うのですが、 その処理だけのためにフォームリクエストをやめてミドルウェアをいくつも作るのはどうかと思うので、ミドルウェア以外の手段で実装したいです。 このメソッドをオーバーライドするといいとか、 このようにすればコールバックを追加できるとか、 何かアドバイスいただけたら、大変ありがたいです。 よろしくお願いいたします。
回答: 確認した所Laravel5.5.2でフォームリクエストの継承元のIlluminate\Foundation\Http\FormRequestクラスのfailedValidationメソッドでバリデーションエラー時に呼ばれるみたいなのでこれを継承して処理をつけたすとログを残せるかと思います。 5.3にもあるみたいなので、多分いけると思います。 FormRequest.php