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;
}
カスタム メソッドが呼び出されることはありません。