laravel将错误消息添加到特定的动态字段

时间:2018-06-07 14:58:52

标签: laravel validation

我有一个包含动态字段的表单(多个用户使用一个表单动态添加)

我正在尝试在手动验证后向特定字段添加错误消息(使用基本if)

我尝试过以下操作,但没有一项工作

$validator->errors()->add('password.0', 'Les mots de passe ne correspondent pas');

$validator->errors()->add('password.*', 'Les mots de passe ne correspondent pas');

$validator->errors()->add('password[0]', 'Les mots de passe ne correspondent pas');

我无法让邮件包接受我的邮件,最后,“$ validator-> errors()”不包含我的字段密码[0]

的邮件

有人知道如何让它发挥作用吗?

2 个答案:

答案 0 :(得分:2)

基于你拥有的输入它们是数组我认为使用laravel规则验证数组是好的。 这是array validations的文档。

类似的东西:

$validator = Validator::make($request->all(), [
    'password.*' => 'required', // your rules
] , [
'password.*.required' => "your message"
]);

答案 1 :(得分:0)

@Masoud的答案很好,我可以使用特定的代码

'password.*' => ['required',
   function($attribute, $value, $fail) {
        $arr_explode_attr = explode(".",$attribute);
        if ($value != request()->input('password_confirmation.'.$arr_explode_attr[1])) {
                        return $fail('Les mots de passe ne correspondent pas');
    }
}];

感谢您的帮助=)