我尝试使用以下代码:
@foreach($errors->all() as $error)
<li>{!! $error !!}</li>
@endforeach
我希望错误被正确显示。 例如姓名为必填项。
答案 0 :(得分:1)
您需要像这样在控制器方法中添加验证。
$request->validate([
'name' => 'required'
]);
然后您可以在视图中显示验证错误:
@if ($errors->has('name'))
<li>{{ $errors->first('name') }}</li>
@endif
这也应该起作用...
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
答案 1 :(得分:0)
这是处理laravel错误的一个好例子
message.blade.php
@if($errors->any())
<div class="alert alert-danger">
<p><strong>Opps Something went wrong</strong></p>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if(session('success'))
<div class="alert alert-success">{{session('success')}}</div>
@endif
@if(session('error'))
<div class="alert alert-danger">{{session('error')}}</div>
@endif
例如,在您的控制器更新方法中,
public function update(Request $request, $id)
{
$this->validate($request,[
'title'=>'required',
'body'=>'required'
]);
//the above validation is important to get the errors caught
$post= Post::find($id);
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->save();
return redirect('/posts')->with('success','Updated successfully');
}
如果您有一个布局文件作为layout.blade.php注意:在布局文件中显示错误会有利于将消息用于所有目的。
...
<div class="container">
@include('message')
@yield('content')
</div>
...
答案 2 :(得分:0)
好的,我发现了错误。我没有其他语言可以上传。 在文件app / config.php中,将'locale'=>'pl'替换为'en'