2009-12-22 151 views
0

我使用驗證模型這樣CakePHP的驗證

'email' => array( 
      //'UniqueMail'=>array('rule' => array('checkEmailUnique', 'email'),'message' => 'mail is used'), 
      'email'=>array('rule' => 'email','message' => 'mail not valid'), 
      'notEmpty'=>array('rule' => 'notEmpty','message' => '*'), 
     ) 

,這驗證了現場電子郵件 但在一些其他形式。我不希望檢查獨特的郵件驗證。 我該如何解決這個問題?

問候

回答

0

待辦事項添加規則到您的$驗證陣列。

創建一個beforeValidate()callback in your model

在爲一個標誌的形式數據的存在(像$data[$this->alias]['checkMail']beforeValidate()回調檢查。如果設置了標誌,然後添加電子郵件驗證規則給你$this->validates陣列,這將阻止您驗證針對規則除非你明確告訴模型這樣做。

0

試試這個代碼

'email' => array(
      'mail' => array(
       'rule' => array('email', true), 
       'required' => false, 
       'message' => 'Not correct e-mail!'), 
      'unique' => array(
       'rule' => 'isUnique', 
       'message' => 'E-mail was registered!')),