我正在使用Laravel 4中的验证规则,它们非常强大。但是,我想知道如何区分可能发生的不同验证错误。例如,如果我使用以下规则:
$rules = array(
'email' => 'required|email|confirmed',
'email_confirmation' => 'required|email',
);
如何判断触发某个字段错误的验证规则/规则?有什么方法可以说明错误是由于电子邮件丢失,电子邮件不是有效的电子邮件地址和/或电子邮件无法确认?
当我一周前开始使用它时,我对laravel很新,所以我希望有人可以对此有所了解。
答案 0 :(得分:2)
验证实例返回的验证消息应该是知道出错的关键。
您可以使用以下方法访问验证程序对象提供的消息:
$messages = $validator->messages(); // Where $validator is your validator instance.
$messages = $messages->all()
这应该为您提供一个MessageBag
对象的实例,您可以通过foreach循环运行:
foreach ($messages as $message) {
print $message;
}
在那里,你应该找到你的答案,即会有一条消息说:“电子邮件确认必须与'电子邮件'字段匹配”。
答案 1 :(得分:2)
您可以获取给定属性的错误消息:
$errors = $validation->errors->get('email');
然后循环错误
foreach ($errors as $error) {
print $error;
}
或获取所有错误消息
$errors = $validation->errors->all();
然后遍历错误消息
foreach ($errors as $error) {
print $error;
}
您可以查看有关laravel validation here
的更多信息