我正在laracasts,tutorial上关注laravel 5的教程,我在显示尝试验证表单时出现的错误时遇到问题。该程序按预期工作,在提交表单时不会转到下一页,但我想使用 $ errors 变量显示一些反馈。我不想使用自定义消息。
我的问题是,在教程中, $ errors 被视为一个数组,它可以在那里工作,但不能在我的计算机上工作。该变量似乎是object类型。
以下是var_dump时的内容。
object(Illuminate\Support\ViewErrorBag)#163 (1) { ["bags":protected]=>
array(1) { ["default"]=> object(Illuminate\Support\MessageBag)#164 (2)
{ ["messages":protected]=> array(2) { ["title"]=> array(1) { [0]=>
string(28) "The title field is required." } ["body"]=> array(1) { [0]=>
string(27) "The body field is required." } } ["format":protected]=>
string(8) ":message" } } }
当我按照教程中所示使用此代码时,它只创建列表中没有任何元素。
@if ($errors->any())
<ul class="alert alert-danger">
@foreach ($errors as $error)
<li>
{{$error}}
</li>
@endforeach
</ul>
@endif
现在,我尝试使用
访问元素$errors->bags["default"]->messages["title"]
但没有任何结果。我也尝试了 $ errors-&gt; all()。
$ errors-&gt; all()有效,但问题是我需要使用
清除已编译的视图php artisan view:clear
答案 0 :(得分:1)
您是否尝试过$ errors-&gt; all()?在Laravel 5.4文档中,他们使用它:
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
答案 1 :(得分:0)
$ errors-&gt; all()有效,但问题是我需要使用
清除已编译的视图php artisan view:clear