Laravel 验证器 - 在控制器中以数组形式获取错误消息
Laravel Validator - Get error messages as an array in controller
这是我的laravel验证
$validation = Validator::make($request->all(), [
'template_id' => 'required',
'email' => ['required', 'email', 'unique:user,email'],
'first_name' => 'required',
'last_name' => 'required',
]);
如果我打印 $validation->messages()
我会低于
Illuminate\Support\MessageBag Object
(
[messages:protected] => Array
(
[template_id] => Array
(
[0] => The template id field is required.
)
[first_name] => Array
(
[0] => The first name field is required.
)
)
[format:protected] => :message
)
但我想要像下面这样
Array
(
[0] => The template id field is required.
[1] => The first name field is required.
)
有特定用途所以需要这个
提前谢谢你
您可以尝试向 MessageBag
询问所有消息:
$validation->messages()->all()
$validation = Validator::make($request->all(), [
'template_id' => 'required',
'email' => ['required', 'email', 'unique:user,email'],
'first_name' => 'required',
'last_name' => 'required',
]);
如果您希望同时出现所有错误,您只需编写类似
的代码
$validation->messages()->all()
或者如果你想要一个一个的错误,那么写这样的代码
$validation->messages()->first()
您可以使用验证器 class 中的 getMessageBag
方法。
$validation->getMessageBag()->first();
您还可以设置自定义错误消息,如下所示:
if(User::where('email', $email)->first())
{
$validator->getMessageBag()->add('password', 'Please enter correct Password');
}
else
{
$validator->getMessageBag()->add('email', 'Email does not exists');
}
这是我的laravel验证
$validation = Validator::make($request->all(), [
'template_id' => 'required',
'email' => ['required', 'email', 'unique:user,email'],
'first_name' => 'required',
'last_name' => 'required',
]);
如果我打印 $validation->messages()
我会低于
Illuminate\Support\MessageBag Object
(
[messages:protected] => Array
(
[template_id] => Array
(
[0] => The template id field is required.
)
[first_name] => Array
(
[0] => The first name field is required.
)
)
[format:protected] => :message
)
但我想要像下面这样
Array
(
[0] => The template id field is required.
[1] => The first name field is required.
)
有特定用途所以需要这个 提前谢谢你
您可以尝试向 MessageBag
询问所有消息:
$validation->messages()->all()
$validation = Validator::make($request->all(), [
'template_id' => 'required',
'email' => ['required', 'email', 'unique:user,email'],
'first_name' => 'required',
'last_name' => 'required',
]);
如果您希望同时出现所有错误,您只需编写类似
的代码$validation->messages()->all()
或者如果你想要一个一个的错误,那么写这样的代码
$validation->messages()->first()
您可以使用验证器 class 中的 getMessageBag
方法。
$validation->getMessageBag()->first();
您还可以设置自定义错误消息,如下所示:
if(User::where('email', $email)->first())
{
$validator->getMessageBag()->add('password', 'Please enter correct Password');
}
else
{
$validator->getMessageBag()->add('email', 'Email does not exists');
}