doniyorbekm
@doniyorbekm
Yii-шник

Ошибка валидации на «повторе пароля»?

Здравствуйте! Получаю ошибку валидации при регистрации пользователя: "Необходимо заполнить «Повторите пароль»" Хотя я ввожу в оба поля пароль без ошибок!
Контроллер (сохранение данных):
if($model->load(Yii::$app->request->post()) && $model->validate()) {
            $new = new Users();
            $new->name = $model->name;
            $new->lastname = $model->lastname;
            $p_number = str_replace(')','',str_replace('(','',str_replace(' ','',$model->phone_number)));
            $new->phone_number = $p_number;
            $new->password = Yii::$app->security->generatePasswordHash($model->password);
            $new->object = rand(1111111111, 9999999999);
            $conf = rand(1111, 9999);
            $new->confirmation = $conf;
            if($new->save()) {
                \Yii::$app->session->setFlash('success', 'Account successfully created');
                return $this->redirect(['/user/confirmation', 'object' => $new->object]);
            } else {
                \Yii::$app->session->setFlash('danger', 'Error creating account');
                return $this->redirect('register');
            }
        }

Правила валидации в модели:
public $password2

public function rules()
    {
        return [
            [['name', 'phone_number', 'password', 'password2'], 'required'],
            ['phone_number', 'unique'],
            ['password2', 'compare', 'compareAttribute'=>'password', 'message'=> Yii::t('app', 'Passwords don\'t match')],
            [['password', 'password2'], 'string', 'min'=>6],
            [['alive'], 'integer'],
            [['name', 'lastname', 'phone_number', 'password'], 'string', 'max' => 255],
            [['object', 'confirmation'], 'safe']
        ];
    }

Вывод поля повтор пароля во вьюшке:
<?= $form->field($model, 'password2')->passwordInput(['value'=>''])->label(Yii::t('app', 'Password repeat')) ?>
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы