Laravelでバリデーションエラーをbladeに表示したい場合は$errorsにエラー情報が格納されているので取り出して表示させてあげましょう。

以下のように$errors->any()でバリデーションエラーがあるか判定が出来ます。

必要なエラーメッセージは$errors->all()で配列が取得できるのでforeachで回してあげましょう。

@if ($errors->any())
<div class="alert">
    @foreach ($errors->all() as $error)
        <span class="danger">{!! $error !!}</span>
    @endforeach
</div>
@endif

また、特定の項目のエラーを判定したい場合は、$errors->any()ではなく、$errors->has()で判定してあげましょう。

nameがreasonの項目のエラーを表示したい場合は、以下のようにしてclassを付与してあげるとよいでしょう。

{{--エラーフォーム表示を想定した例--}}
<div class="@if($errors->has('reason')) error @endif">
    <input type="text" name="reason" value="{{old('reason','')}}" id="reason">
</div>

Laravelのbladeはバリデーションエラー関連が使いやすいので使いこなしたいですね。

お疲れ様でした。

おすすめの記事