2016-02-10 4 views
1

правила в модели подтверждения пароля не работает, как это исправитьпароль не подтверждает в yii2

public function rules() 
{ 
    return [ 
     [['username', 'email'], 'filter', 'filter' => 'trim'], 
     [['username', 'email', 'status','password','confirmpassword'], 'required'], 
     ['email', 'email'], 
     ['username', 'string', 'min' => 2, 'max' => 255], 

     // password field is required on 'create' scenario 

    ['confirmpassword', 'compare', 'compareAttribute'=>'password', 'skipOnEmpty' => false, 'message'=>"Passwords don't match"], 

     // use passwordStrengthRule() method to determine password strength 
     $this->passwordStrengthRule(), 

     ['username', 'unique', 'message' => 'This username has already been taken.'], 
     ['email', 'unique', 'message' => 'This email address has already been taken.'], 
    ]; 
} 

ответ

0

Я думаю, вы должны использовать пользовательскую проверку, а не использовать проверку коды внутри правила возврата массива (я думаю, что код используется внутри массива разбить проверку ..)

public function rules() 
{ 
    return [ 
     [['username', 'email'], 'filter', 'filter' => 'trim'], 
     [['username', 'email', 'status','password','confirmpassword'], 'required'], 
     ['email', 'email'], 
     ['username', 'string', 'min' => 2, 'max' => 255], 

     // use a custom validation functio call 
     ['password', 'passwordStrengthRule'] 


     ['confirmpassword', 'compare', 'compareAttribute'=>'password', 'skipOnEmpty' => false, 'message'=>"Passwords don't match"], 



     ['username', 'unique', 'message' => 'This username has already been taken.'], 
     ['email', 'unique', 'message' => 'This email address has already been taken.'], 
    ]; 
} 

// function for custom validation of password strenght 
public function passwordStrengthRule($attribute, $params) 
{ 

    //your password Strength Validation rule code 
    //eg: 
    return $this->passwordStrengthRule($attribute); 

} 

see this doc для руководства краткий проверки входных данных в

Смежные вопросы