0

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

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

我如何知道哪些验证规则/规则触发了某个字段的错误?有什么方法可以告诉我错误是由于缺少电子邮件值,电子邮件不是有效的电子邮件地址和/或电子邮件无法确认?

我对 laravel 很陌生,因为我一周前开始使用它,所以我希望有人能对此有所了解。

4

2 回答 2

2

验证实例返回的验证消息应该是了解问题所在的关键。

您可以使用以下方法访问验证器对象给出的消息:

$messages = $validator->messages(); // Where $validator is your validator instance.
$messages = $messages->all()

这应该为您提供一个MessageBag对象实例,您可以使用 foreach 循环运行该实例:

foreach ($messages as $message) {
    print $message;
}

在里面,你应该找到你的答案,即会有一条消息说:“电子邮件确认必须匹配'电子邮件'字段”。

于 2013-01-22T10:29:36.050 回答
2

您可以获得给定属性的错误消息:

$errors = $validation->errors->get('email');

然后遍历错误

foreach ($errors as $error) { print $error; }

或获取所有错误消息

$errors = $validation->errors->all();

然后遍历错误消息

foreach ($errors as $error) { print $error; }

您可以在此处查看有关 laravel 验证的更多信息

于 2013-01-22T14:11:16.067 回答