Laravelのold関数【現役エンジニアが解説】
今回は、Laravelのold関数について、簡単に解説していきます。
old関数とは
Laravelにはold関数が用意されています。
old関数では直前のリクエストデータを取得できます。
例えば、old(‘name’)とすれば、name属性がnameとして送信されたデータの値を取得できます。
コントローラではバリデーションのみ
old関数を使うためにコントローラで特別な設定をする必要はありません。
ただし、old関数を使う場面はバリデーションエラー時にほぼ限られると思います。
public function register(Request $request) { $request->validate([ 'name' => 'required', 'email' => 'email|required' ]); // バリデーションエラーで元のページへ // バリデーション後の処理 }
そのため、上記のように、対象のコントローラの関数内でバリデーションを行うようにさえすれば問題ありません。
Bladeではold関数を埋め込む
バリデーションエラー時のためのold関数はBladeで使います。
<input type="text" name="name" value="{{ old('name') }}> <input type="text" name="name" value="{{ old('email') }}>
上記のように、input要素のvalue属性の値に{{ }}付きでold関数を埋め込みます。
このようにすることで、バリデーションエラーで元のページに戻った際に入力値が残ります。