Пример 1
Для установки ошибки используйте
return redirect()->back()->withErrors('my message');
Для доступа к ошибкам в блейде используйте
@if ($errors->any())
<div class="alert alert-danger">
<ul class="mb-0">
@foreach($errors->all() as $error)
<li>{!! $error !!}</li>
@endforeach
</ul>
</div>
@endif
И да, используйте перенаправление вместо того, чтобы возвращать разные виды на одном и том же маршруте, потому что это более понятно.
Пример 2
Но если вы хотите научиться этому нелегко, установите оповещения так:
session()->flash('alert', 'your message');
и получить к нему доступ, как это
<div class="alert alert-success"> {{ session('alert') }}</div>
Пример 3
если вы хотите использовать MessageBag, все, что вам нужно, это выдать специальное исключение
throw ValidationException::withMessages([
'message' => ['my message here'],
])->status(400);
и получите к нему доступ, как показано в примере-1