鶏口牛後な日々

魔法使い(なんでも作れるエンジニア)を目指してます。ブログは発散中

Laravelのedit/updateフォームで取得したデフォルト値を表示しつつ、バリデーションがかかったらold()メソッドで入力した値を表示したい

登録した情報のedit画面では、一度登録した内容をまずは取得してviewに返して表示し、それが変更されたらdatabaseに保存するという流れを取りますよね。

この時、取得した内容をinputに入れ込みつつ、バリデーションがかかったらold()で内容を再表示してほしいということはあると思います。

oldメソッドの第二引数にdefault値を入れる!

$hogeという値をviewに渡して表示したいとします。

<input type="text" name="hoge" value="{{ old('hoge', $hoge) }}">

とすると、$hogeをデフォルト値として表示し、変更されてバリデーションなどでリダイレクトされた場合は、oldで取得した値を入れてくれるというわけです!

便利!!