我有一个表单,记录每个项目的序列号。用户可以添加或减去项目数,因此表单可能如下所示:
<input type="text" name="serial_no[]" required />
<input type="text" name="serial_no[]" required />
<input type="text" name="serial_no[]" required />
<input type="text" name="serial_no[]" required />
//And so on. Depending on how many items the user would record
我通过迭代数组来验证这一点:
foreach (Input::get('serial_no') as $key => val):
$rules["serial_no.$key"] => array("regex:/^[A-Z]{3}[0-9]{4}$/", "required");
endforeach;
现在,如果验证失败,我想显示有关序列号的错误。在我的表单中,我有一个span
,我在其中放置了该字段的所有错误消息。问题是,验证错误返回:
["messages":protected]=>
array(2) {
["serial_no.0"]=>
array(1) {
[0]=>
string(41) "The serial_no.0 has already been taken."
}
["serial_no.1"]=>
array(1) {
[0]=>
string(41) "The serial_no.1 has already been taken."
}
//Other errors of other fields
}
我如何能够检索此字段的错误?
答案 0 :(得分:0)
$validation->errors()-add('error.name')
然后,您可以将withErrors();
重定向回您的路线,这样就可以动态添加错误:)
要检索错误,请使用
$messages = $validator->messages();
$messages
将是MessageBag的一个实例。
然后你可以使用$messages->all()
来迭代错误
如果您需要使用$messages->get('key')