如何解决Laravel Validator-在控制器中以数组形式获取错误消息
这是我的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()
,
您可以使用验证器类中提供的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');
}
,
$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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。