I love iPhone, Android, Cocos2d-x
CakePHP モデルの validation の拡張
CakePHP のモデルの validation の拡張のメモです。
ユーザ登録フォームなどでパスワードの再確認のバリデーションを行うときの方法です。
views/users/regist.thtml
パスワード:< ?php echo $html->password('User/password'); ?>
確認用パスワード:< ?php echo $html->password('User/password2'); ?>
< ?php echo $html->tagErrorMsg('User/password2', 'パスワードが一致しません');
※users テーブルにpassword2 のカラムはなくてかまいません。
models/users.php
function validates($data=array()) {
if(empty($data)) {
$data = $this->data;
}
parent::validates($data);
if ($data["User"]["password"]!==$data["User"]["password2"]) {
$this->invalidate("password2");
}
if (count($this->validationErrors)>0) {
return false;
} else {
return true;
}
}
AppModel クラスの validation メソッドも実行する必要があるので、必ず
parent::validates($data);
を書かないといけません。
関連する投稿
One comment
コメントをどうぞ
Additional comments powered by BackType
2demonstrate…
…