CakePHP自定义验证规则导致多个字段出现错误消息
我的模型中有一些自定义验证函数。例如,在某些字段中,我有一个验证规则,用于检查文本是否为HTML。我的问题是,当我在两个字段上使用相同的验证规则时,视图中的错误消息会出现在两个字段上,即使只有一个验证失败 例: 我已经有了一个解决方法(见下文)。我用每个字段的唯一函数包装验证规则,一切正常。但这很烦人。我怀疑还有更好的办法。这是什么CakePHP自定义验证规则导致多个字段出现错误消息,php,validation,cakephp,cakephp-2.0,Php,Validation,Cakephp,Cakephp 2.0,我的模型中有一些自定义验证函数。例如,在某些字段中,我有一个验证规则,用于检查文本是否为HTML。我的问题是,当我在两个字段上使用相同的验证规则时,视图中的错误消息会出现在两个字段上,即使只有一个验证失败 例: 我已经有了一个解决方法(见下文)。我用每个字段的唯一函数包装验证规则,一切正常。但这很烦人。我怀疑还有更好的办法。这是什么 'field1' => array( 'noTags' => array( 'rule' => a
'field1' => array(
'noTags' => array(
'rule' => array( 'detectTags1' ),
'message' => 'HTML tags are not allowed.'
)
),
'field2' => array(
'noTags' => array(
'rule' => array( 'detectTags2' ),
'message' => 'HTML tags are not allowed.'
)
),
...
public function detectTags1($check) {
return $this->_detectTags($check);
}
public function detectTags2($check) {
return $this->_detectTags($check);
}
private function _detectTags($check) {
$value = array_values($check);
$string = $value[0];
return ($string == strip_tags($string));
}
试试这个
'field1' => array(
'noTags1' => array(
'rule' => array( 'detectTags' ),
'message' => 'HTML tags are not allowed.'
)
),
'field2' => array(
'noTags2' => array(
'rule' => array( 'detectTags' ),
'message' => 'HTML tags are not allowed.'
)
),
似乎无法用最新版本重新创建此问题。您使用的是什么版本的CakePHP?
'field1' => array(
'noTags1' => array(
'rule' => array( 'detectTags' ),
'message' => 'HTML tags are not allowed.'
)
),
'field2' => array(
'noTags2' => array(
'rule' => array( 'detectTags' ),
'message' => 'HTML tags are not allowed.'
)
),