Laravel 6 - 显示验证消息的新方法
Posted
技术标签:
【中文标题】Laravel 6 - 显示验证消息的新方法【英文标题】:Laravel 6 - new way of displaying validation messages 【发布时间】:2020-03-04 22:06:49 【问题描述】:当我使用 Laravel 5.6 时,我以这种方式在刀片中显示验证错误:
@if(session()->has('error'))
<div class="alert alert-danger">
!! session()->get('error') !!
</div>
@endif
在 Laravel 6 中它不起作用。你知道正确的做法吗?
我的验证:
$this->validate($request, [
'name' => 'required|unique:users',
'email' => 'required|unique:users'
], [], []);
看一下 - 我不想那样显示消息:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li> $error </li>
@endforeach
</ul>
</div>
@endif
我想要一个notifications.blade.php
文件,用于显示所有错误。这就是为什么我需要实现session()->has('error')
那个解决方案并没有解决问题......
@if ($errors->has('username'))
<span class="invalid-feedback" role="alert">
<strong> $errors->first('username') </strong>
</span>
@endif
<input type="text" name="username">
【问题讨论】:
您认为显示错误的方式是什么?请多解释。 看,在问题的开头。 所以session()->has('error')
不能在 laravel 6 中工作,对吧?
是的,就是这样
【参考方案1】:
您可以显示每个输入名称的验证错误
@if ($errors->has('username'))
<span class="invalid-feedback" role="alert">
<strong> $errors->first('username') </strong>
</span>
@endif
<input type="text" name="username">
【讨论】:
这不是解决方案,因为我想要一个通知.blade.php 文件来显示所有错误。这就是为什么我需要实现 session()->has('error') 如何将此错误传递给您的视图?$errors
是验证失败的结果,必须始终循环。 session()->get('error')
是手动添加到重定向或视图的单个字符串。
以旧的方式,我在问题的开头就这样做了
我想这样显示:!! session()->get('error') !!
是的,但它在您的控制器中看起来如何?【参考方案2】:
请检查下面的代码sn-ps:
<input type="text" class="form-control" id="name" name="name" placeholder="Enter Name" value="">
@if ($errors->has('name'))
<span class="text-danger"> $errors->first('name') </span>
@endif
同样,我们可以在其他形式的字段上显示验证消息。
【讨论】:
这不是解决方案,因为我想要一个通知.blade.php 文件来显示所有错误。这就是为什么我需要实现 session()->has('error')以上是关于Laravel 6 - 显示验证消息的新方法的主要内容,如果未能解决你的问题,请参考以下文章