问题描述
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
但是如果我想显示除少数选定的错误之外的所有错误怎么办。 IE。我想消除来自名为 email
($error->has('email')
) 的输入的所有错误。有没有可能在laravel中以一种聪明的方式做到这一点?
解决方法
因为 $errors
是 Laravel 集合。阅读有关收藏集的更多信息 here
我们可以试试except()`:
$erros= $errors->except(['email']);
现在
$errors->all()
将返回没有 email
的新集合。
快乐编码。
,我认为您可以使用以下代码访问 errorBag。
if ($errors->getBag('default')->has('email'))
我认为你也可以在你的 foreach 中获取错误键
@foreach($errors->all() as $key => $error)
@if($key === 'email')
@continue
@endif
<li>{{ $error }}</li>
@endforeach
,
我想出了解决方案。 $errors
是一种 MessageBag,我使用了集合中的方法。
@php
$errors = collect($errors->getMessages())->except(['email']);
@endphp
@foreach ($errors->flatten()->all() as $error)
<li>{{ $error }}</li>
@endforeach