Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 区分Laravel中的验证错误_Validation_Laravel_Laravel 4 - Fatal编程技术网

Validation 区分Laravel中的验证错误

Validation 区分Laravel中的验证错误,validation,laravel,laravel-4,Validation,Laravel,Laravel 4,我在使用Laravel4中的验证规则,它非常强大。但是,我想知道如何区分可能发生的不同验证错误。例如,如果我使用以下规则: $rules = array( 'email' => 'required|email|confirmed', 'email_confirmation' => 'required|email', ); 如何判断触发特定字段错误的验证规则?我是否可以通过某种方式判断错误是由于缺少电子邮件值、电子邮件不是有效的电子邮件地址和/或电子邮件无法确认造成的 一周

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

$rules = array(
  'email'  => 'required|email|confirmed',
  'email_confirmation' => 'required|email',
);
如何判断触发特定字段错误的验证规则?我是否可以通过某种方式判断错误是由于缺少电子邮件值、电子邮件不是有效的电子邮件地址和/或电子邮件无法确认造成的


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

验证实例返回的验证消息应该是了解出错原因的关键

您可以通过以下方式访问validator对象提供的消息:

$messages = $validator->messages(); // Where $validator is your validator instance.
$messages = $messages->all()
这将为您提供一个
MessageBag
对象的实例,您可以使用foreach循环运行该对象:

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

在里面,你应该可以找到你的答案,也就是说,会有一条消息说:“电子邮件确认必须与‘Email’字段匹配。”

验证实例返回的验证消息应该是知道出错原因的关键

您可以通过以下方式访问validator对象提供的消息:

$messages = $validator->messages(); // Where $validator is your validator instance.
$messages = $messages->all()
这将为您提供一个
MessageBag
对象的实例,您可以使用foreach循环运行该对象:

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

在里面,你应该可以找到你的答案,也就是说,会有一条消息说:“电子邮件确认必须与‘Email’字段匹配”。

你可以得到给定属性的错误消息:

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

然后循环检查错误

foreach($errors as$error){
打印$error;
}

或者获取所有错误消息

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

然后循环查看错误消息

foreach($errors as$error){
打印$error;
}


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

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

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

然后循环检查错误

foreach($errors as$error){
打印$error;
}

或者获取所有错误消息

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

然后循环查看错误消息

foreach($errors as$error){
打印$error;
}


除此之外,您还可以看到有关laravel验证的更多信息:我不认为有任何方法可以使用返回的响应来判断哪个“规则”失败,也就是说,您是否正在寻找说
'required'=>false,'confirated'=>true
,因为我认为这不存在。好的,谢谢您的回答Daniel。然后,我将尝试使用默认的验证消息,并使用validation.php in languages dir中的attributes数组调整字段名称。除此之外,我认为没有办法使用返回的响应来判断哪个“规则”失败,也就是说,您是否在寻找说
'required'=>false的内容,“已确认”=>true
,因为我认为这不存在。好的,谢谢您的回复。我将尝试使用默认的验证消息,然后使用validation.php in languages dir中的attributes数组调整字段名。