【Laravel】old 関数を使った書き方

value に DB などから取得した値を初期値として表示した場合、バリデーションで戻ってきた際に、入力した値ではなく設定した初期値が表示されてしまう。
入力した値を表示したい場合は、old 関数を利用する。

# 初期値を設定
<input type="text" name="address" value="{{ $user['address'] }}">

# old 関数を使用
# 第一引数:name属性の値
# 第二引数:初期値
<input type="text" name="address" value="{{ old('address', $user['address']) }}">

old 関数を使った if 文の書き方

# is_check の入力値 or 初期値が 1 ならば checked
<input type="checkbox" name="is_check" value="1"
    @if (old('is_check', $user['is_check']) == 1) checked
    @endif
>

# is_check の入力値 or 初期値が 1 ならば show クラスを指定
<div
    @if (old('is_check', $user['is_check']) == 1) class="show"
    @endif
>
</div>