2015/07/06

【Cakephp2】バリデーション 重複チェック


ユーザ情報を登録する際に
既に登録されているメールアドレスについては登録させたくない。

独自にバリデーション関数を作成し、
エラー表示をしようと思ったがつまずいた。

validate関数には

   public $validate = array(
      'email' => array(
         'notEmpty' => array(
            'rule' => 'notEmpty', 
            'message' => '必須項目です。'
         ),
         'custom' => array(
            'rule' => '_compareEmail',
            'message' => '既に登録されているメールアドレスです。'
         );


protected function _compareEmail($data) {

~~~~割愛~~~~
  // 一致した
  return false;
}


的なのを使用としたら

Warning (2): preg_match()

ってさ...

結局のところ独自関数なんて作成せず

         'custom' => array(
            'rule' => 'isUnique',
            'message' => '既に登録されているメールアドレスです。'
         );

って書けばことは済んだ。



0 件のコメント:

コメントを投稿