Laravel5.4 FormRequest でバリデーションエラーメッセージを名前付きにする方法
はじめに
1ページに複数のフォームがあるとき (サイドバーにログインフォーム、メインコンテンツにユーザ登録フォームがある場合)
とかに名前付きエラーバグ (Named Error Bags) と使うと
View 側で出力するエラーメッセージのアクセスを切り替えることができる。
便利。
でもFromRequest を使った場合の名前付きエラーバグのやり方が見つからなかったので記録しておく。
スポンサーリンク
FormRequestを使ったときのバリデーションの名前付きエラーバグの方法
UserRequest クラスがあったとする。
UserRequestに
protected $errorBag = 'user';
を追加だけ。 View からは
$errors->user->all()
でアクセスできるようになる。
注意
View からアクセスするとき、
$errors->all()
は空になる。
バリデーションのエラーメッセージ出力を
@if ($errors->all()) ・・・ @endif
で行なっている場合は、
@if ($errors->user->all()) ・・・ @endif
と修正しないとバリデーションメッセージが表示されなくなる。
まとめ
簡単にできた。
参考
スポンサーリンク