Laravelのバリデーション時に$errorに加えて他の変数も返却したい場合

こんにちは、遠藤です。

Laravelのバリデーションを使用していてbladeに$errorに加えて他の変数も返却したいと思った時につまずいたので、つまずいた点と解決方法を紹介させていただきます。

 

  1. バリデーション時にold()が正常に機能しない
  2. $errorに加えて他の変数も返却する方法
  3. bladeで表示する方法

1. バリデーション時にold()が正常に機能しない

Laravelでバリデーションを実装する場合は以下のようなコードで実装します。

しかし、フロントエンドで使用していたW2UIというJSライブラリの仕様により、old()が正常に機能しないという事象が発生しました。そのため、バックエンドから$errorに加えて必要な情報を返却して、old()の代わりに呼び出して表示する必要が出てきました。

2. $errorに加えて他の変数も返却する方法

以下はタイプがチェックボックスであるsample3とsample4のold()が正常に機能しなかった場合にそれらをwith()というメソッドを使用して返却する方法です。

3. bladeで表示する方法

以下のようにsession()を使用して表示します。

最初は$errorやveiw()で返却した時のように{{ ‘sample3’ }}とするだけで表示されるかと思っていたのでつまずきました。session()で指定する必要がありその上で、session()->has()で分岐しなければ表示されませんでした。



❏❏ TOPIC ❏❏ ------------------------------------------------------------

カスタム自由!フリーECサイトパッケージ
チャットボット導入サービス
WEBシステム開発・スマホアプリ開発はSRIAへ