2014-05-05 272 views
0

是否可以在cakephp中執行特定的電子郵件驗證?在我的模型文件,我有CakePHP電子郵件驗證

public $validate = array(
    'email' => array( 
    'required' => 'true', 
    'rule' => array('email', true), 
    'message'=> 'Please supply a valid email address.') 
); 

但我希望能夠強制執行的電子郵件地址會在一些具體的事情結束約束,例如:

@example.com 

任何幫助,將不勝感激,謝謝。

回答

3

你可以添加自定義的,如果你正在執行一個域的約束..

public $validate = array(
    'login' => array(
     'rule' => '/^[email protected]\.com$/i', 
     'message' => 'This email address must be @domain.com' 
    ) 
); 
+0

或者你可以修改正則表達式是這樣的:'^ + @ (:?[一-z0-9](在[a-Z0-9 - ] * [A-Z0-9]?)\)+(?:?[AZ] {2} | COM |有機|淨| EDU | GOV | mil | biz | info | mobi | name | aero | asia | jobs | museum)$'這是基於偉大正則表達式的例子:http://www.regular-expressions.info/email.html – JakeGould

+0

不是真的 - 他們想要特定的領域。你可以在它的前面添加更多驗證,而不是結束。 – Farkie

+1

類似'[A-Z0-9 ._%+ - ] + @ domain \ .com'會更合適。 – Farkie