我来自Laravel,我尝试对其进行验证并查看每个输入的错误,我已经遍历了$error->all()
,但是我需要显示其下每个输入的错误,并且我使用此代码$errors->has('password')
来显示输入有错误,但我也需要显示消息。我得到print_r($errors)
,它返回此:
Illuminate\Support\ViewErrorBag Object
(
[bags:protected] => Array
(
[default] => Illuminate\Support\MessageBag Object
(
[messages:protected] => Array
(
[firstName] => Array
(
[0] => The first name field is required.
)
[lastName] => Array
(
[0] => The last name field is required.
)
[email] => Array
(
[0] => The email must be a valid email address.
[1] => The email field is required.
)
[password] => Array
(
[0] => The password field is required.
)
[password_confirmation] => Array
(
[0] => The password confirmation field is required.
)
)
[format:protected] => :message
)
)
)
我的问题是我无法访问这些消息?
根据Laravel文档,您可以使用@error
指令来实现相同的目的
$errors
变量由Illuminate\View\Middleware\ShareErrorsFromSession middleware
,即由网络middleware
组提供。应用此中间件时$ errors变量在您的视图中将始终可用,从而允许您可以方便地假定始终定义了$ errors变量,并且可以安全使用。
例如
<label for="title">Post Title</label>
<input id="title" type="text" class="@error('title') is-invalid @enderror">
@error('title')
<div class="alert alert-danger">{{ $message }}</div>
@enderror