モデルに実装するバリデーションの例には、メールアドレスを2回入力して、一致しているかどうかを比較したりするような複数の入力項目をチェックする例が残念ながら記載されていない。
モデルの中で何とかやってみた例なので、クレバーな方法ではないかもしれないが、DBへデータを登録する前のチェックをコントローラーで実装しようとすると面倒なので、困っている方がいらっしゃれば参考にしていただきたいと思う。
var $validate = array(
’mailaddrss1′ => array(
’rule’ => array(‘checkAddrss’),
’message’ => ‘メールアドレス1とメールアドレス2の入力内容が異なります’,
),
);
//$dataはmailaddress1の内容がセットされる
function checkAddrss($data){
$check_data= $this->data;
return $data != $check_data[‘ModelName’][‘mailaddress2’];
}