CakePHP2.3で、データベースとは無関係の入力フィールドに自作のValidationをかける事が出来ません。解決策を教えて下さい。
コードはこちらです。
lang
1public $validate = array( 2'name' => array ( 3'rule' => 'notEmpty', 4'message' => 'このフィールドは必須' 5 ), 6 'password' => array ( 7 'rule' => 'notEmpty', 8 'message' => 'このフィールドは必須', 9 'allowEmpty' => false 10 ), 11 'verify_password' => array ( 12 'rule' => 'notEmpty', 13 'message' => 'このフィールドは必須', 14 'allowEmpty' => false 15 ), 16 'rule2' => array ( 17 'rule' => array('check_password'), 18 'message' => 'このフィールドは必須', 19 'allowEmpty' => false 20 ) 21 ), 22 'email' => 'email', 23 );
"password" と "verify_passowrd" はデータベースではないフィールドです。
カスタムの検証メソッドは下記のようになっています
lang
1function check_password($check) { 2 3 $value = array_values($check); 4 $value = $value[0]; 5 6 7 if($value == $this->data['User']['verify_password']) 8 return true; 9 else 10 return false; 11}
しかしカスタムのメソッドは一度もコールされませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。