使用 Laravel 表单验证功能时,我们可以在 blade 模板中使用下面的方式显示所有错误信息:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
但是上面的代码是循环输出所有的错误信息,比如我们在控制器中定义了如下代码,那么有没有办法输出指定/特定的错误信息呢?
if (! Auth::attempt($this->only('username', 'password'), $this->boolean('remember'))) {
RateLimiter::hit($this->throttleKey());
throw ValidationException::withMessages([
'notice' => trans('用户名或密码错误!'),
]);
}
答案是肯定的,我们可以通过下面的方式,只输出 notice error。
@if ($errors->has('notice'))
<div class="alert alert-danger">
@foreach ($errors->get('notice') as $error)
{{ $error }}
@endforeach
</div>
@endif