2012-09-07 17 views
5

codice di validazione èCome fare e-mail univoco nel modello utente Yii

return array( 
     array('firstname, lastname, confirm_email, education, email, password, occupation,location , birthdate, interest,gender,created, modified', 'required'), 

        array('email', 'email'), 
        array('password', 'length', 'max'=>20, 'min' => 5,'message' => "Incorrect fi (length between 5 and 20 characters)."), 
        array('firstname', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => UserModule::t("Incorrect symbols (A-z0-9).")), 
        array('email', 'unique'), 
    ); 
+0

credo che la sintassi data da voi è perfetto. – Krishna

risposta

13

È possibile rendere la propria e-mail univoca nel modello utente yii secondo la seguente regola come indicato in seguito.

public function rules() { 
    return array(
    ... 
    array('email', 'email'), 
    array('email', 'unique', 'className' => 'User', 
     'attributeName' => 'email', 
     'message'=>'This Email is already in use'), 
    ... 
); } 

Qui className è il nome della classe del modello utente, attributeName è il vostro db nome del campo e-mail.

È inoltre possibile controllare il link sottostante.

http://www.yiiframework.com/forum/index.php/topic/32786-creating-my-own-model-cmodel-not-cactiverecord/

Grazie

+0

Buona risposta, è importante tenere presente che dovremmo usare gli scenari in modo che questa regola specifica non si applichi quando l'utente sta effettuando l'accesso ... usa: ''on' => 'register'' – surfer190

3
public function rules() 
{ 
    return array(
     ... 
     array('email', 'email'), 
     array('email', 'unique'), 
     ... 
    ); 
} 
0
array('email', 'filter', 'filter'=>'trim'), 
     array('email', 'unique'), 
Problemi correlati