我试图在 cakephp 2.3 中为非数据库字段调用自定义验证方法,但没有运气。验证方法根本没有被调用。有人可以建议修复并解释这是否是蛋糕的问题?
我的代码
public $validate = array(
'name' => array
(
'rule' => 'notEmpty',
'message' => 'This field cannot be left blank'
),
'password' => array
(
'rule' => 'notEmpty',
'message' => 'This field cannot be left blank',
'allowEmpty' => false
),
'verify_password' => array
(
'rule' => 'notEmpty',
'message' => 'This field cannot be left blank',
'allowEmpty' => false
),
'rule2' => array
(
'rule' => array('check_password'),
'message' => 'passwords must match each other',
'allowEmpty' => false
)
),
'email' => 'email',
);
其中“password”和“verify_passowrd”是非数据库字段。自定义验证方法是
function check_password($check) {
$value = array_values($check);
$value = $value[0];
if($value == $this->data['User']['verify_password'])
return true;
else
return false;
}
永远不会调用自定义方法。