以下是laravel上youtube上的教程,使用laravel 5.6。 尝试显示错误时出现错误 这里的代码
这是视图
@if (isset($errors)&&count($errors) > 0)
<div class="alert alert-dismissable alert-danger fade show">
<button type="button" class="close" data-dismiss="alert" area-label="Close">
<span area-hidden="true">×</span>
</button>
@foreach ($errors->all() as $error)
<li><strong>{!! $error !!}}</strong></li>
@endforeach
</div>
@endif
这是控制器
return back()->withInput()->with('errors', 'Error creating new company');
所以我不知道哪里出了问题有人可以帮助我
答案 0 :(得分:2)
controller =>
return redirect()->back()->with('error','Error creating new company');
view =>
@if(session('error'))
{{session('error')}}
@endif
答案 1 :(得分:0)
通过
return back()->withInput()->with('errors', 'Error creating new company');
您正在将“错误”设置为字符串
以下代码应该对您有效,而无需更改您的标记:
return back()->withInput()->withErrors(['Error creating new company']);
在您的代码中,您使用的是foreach,因此$errors
项需要可迭代。
您可以向阵列添加更多错误,例如:
return back()->withInput()->withErrors(['Error creating new company', 'Second error']);
答案 2 :(得分:0)
检查并显示在会话中
return redirect()->back()->withInput()->with('errors', 'Error creating new company');
在模板中显示
@if(session('errors'))
{{session('errors')}}
@endif
您正在显示单个错误,因此否需要添加@foreach