在Laravel验证中添加多个自定义消息

时间:2017-04-04 13:57:56

标签: php laravel validation

我需要添加这样的多个自定义错误消息,并且两者都需要显示为验证消息。我有以下代码:

 if (!$condition1) {
     $error[] = "Condition 1 needs to be satisfied";
     $validation = false;
 }

 if (!$condition2) {
     $error[] = "Condition 2 needs to be satisfied";    
     $validation = false;
 }

 $validator->setCustomMessages($error);

但是在这里我只收到一条消息,即使它进入第二个条件也是第一个消息。我试图在每个条件中添加$validator->setCustomMessages("Message");,但它也在做同样的事情。

2 个答案:

答案 0 :(得分:0)

尝试更改$validator->setCustomMessages($error);

$validator->getMessageBag()->merge($error);

现在,如果你$validator->errors()->getMessages(),你必须让你的数组同时出现错误

答案 1 :(得分:0)

为什么使用条件进行验证? 这是我用来处理在我的控制器中上传照片的验证。 您有“自定义”的自定义错误消息。一个用于' size' (指的是照片阵列的大小)。 要添加另一个自定义消息,只需使用点表示法管道另一个规则及其相应的错误消息。 只有在满足所有规则后,代码才会继续执行。

$this->validate($request,
    [
        'photos'        => 'required|size:4'
    ],
    [
        'photos.required'       => 'Photos are Required',
        'photos.size'           => 'You must upload 4 Photos'
    ]
);