我正在尝试按如下方式创建自定义验证规则:
$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"
。
答案 0 :(得分:1)
我只需要将返回值转换为boolean,因为preg_match()
返回0|1
。
return (bool) preg_match('/^[a-z0-9\-]+$/', $value);