cakephp 3如何在fly中更改自定义规则验证消息

时间:2018-01-11 08:01:06

标签: validation cakephp cakephp-3.x

我创建了一个自定义规则,我需要在飞行中更改消息。

例如,请考虑以下代码。在此我需要根据约束

显示相应的消息而不是规则消息(错误号)
public function validationDefault(Validator $validator)
{
           $validator->add(
                    'number_field',
                    [
                        'custom' => [
                            'rule' => function ($value, $context) {
                                if ($value < 10) {
                                    //need to change the error message as its less than 10
                                } else if ($value > 10 && $value <20) {
                                    //need change the error message its between 10 and 20
                                }
                                return true;
                            },
                            'message' => 'Error number'
                        ]
                    ]
                );
     return $validator;
}

2 个答案:

答案 0 :(得分:2)

验证规则方法可以返回定义验证是否成功的布尔值,或者返回验证失败的字符串,以及该字符串应该用作错误消息而不是{{1}中定义的错误消息选项。

message

另见

答案 1 :(得分:0)

   $validator
        ->add("number_field", "length", [
            "rule" => [ "minLength", 20],
            "message" =>__("{Your message}"),//Error message
            'on' => function ($context) {
                return !empty($context['data']['number_field']);
            }
        ])

定义验证规则时,您可以使用on键来定义何时应用验证规则。