CakePHP 3.0中忽略了自定义验证消息

时间:2015-03-09 03:18:06

标签: php cakephp cakephp-3.0

我正在尝试按如下方式创建自定义验证规则:

$validator
    ->add('slug', 'custom', [
        'rule' => function($value, $context) {
            return preg_match('/^[a-z0-9\-]+$/', $value);
        },
        'message' => 'Slug cannot contain spaces or special characters'
    ]);

规则正常,但表单上的消息始终为:"The provided value is invalid"

1 个答案:

答案 0 :(得分:1)

我只需要将返回值转换为boolean,因为preg_match()返回0|1

return (bool) preg_match('/^[a-z0-9\-]+$/', $value);