使用新的验证器对象-是否可以替换触发的验证规则中的验证错误?不仅返回静态错误消息,还可能返回一些动态生成的消息?
public function validateLength($data) {
...
$length = mb_strlen($data['name']);
$this->validator()->getField('name')->setRule('validateLength', array('message' => $length . 'chars'));
...
}
当然行不通(我想为时已晚)
我想实际返回字符串的长度(例如,您使用了100个字符中的111个字符),但是为此,我需要能够从(自定义)验证方法中替换消息
$this->validate['name']['validateLength']['message'] = $length . 'chars';
到目前为止也从未奏效。它将始终从$ validate数组返回先前的(静态)错误消息。
最佳答案
public function customValidator($data) {
....
if ($validates) {
return true;
} else {
return 'my new error message';
}
}