区分Laravel中的验证错误

时间:2013-01-22 09:19:52

标签: validation laravel laravel-4

我正在使用Laravel 4中的验证规则,它们非常强大。但是,我想知道如何区分可能发生的不同验证错误。例如,如果我使用以下规则:

$rules = array(
  'email'  => 'required|email|confirmed',
  'email_confirmation' => 'required|email',
);

如何判断触发某个字段错误的验证规则/规则?有什么方法可以说明错误是由于电子邮件丢失,电子邮件不是有效的电子邮件地址和/或电子邮件无法确认?

当我一周前开始使用它时,我对laravel很新,所以我希望有人可以对此有所了解。

2 个答案:

答案 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

的更多信息
相关问题