dart_kinselok
@dart_kinselok
Правильный вопрос содержит 50% искомого ответа...

Как проверить на идентичность два поля?

Есть ф-ция rules(), стандарт для Active Form. Есть два поля: пароль и повторить пароль. Вопрос: можно ли проверить их на соответсвие через rules? Есть встроенный валидатор, CompareValidator который может сие действие провернуть, но при его использовании возникает проблемка. вот кусок моего rules:
// ...
['password_repeat', 'compare', 'compareAttribute' => 'password', 'operator' => '=','message' => 'Пароли не совпадают!'],
// ...


Теоретически, должен работать, а фактически при любых значениях полей password и password_repeat выдает "Пароли не совпадают"... В чем может быть проблема?

(Не думаю, что это имеет значение, но отрывок из View выглядит так:)
<?= $form->field($model, 'password')->hint('Не меньше шести символов.')?>
        <?= $form->field($model, 'password_repeat')->hint('Повторите ввод пароля')?>


_________________________________________

Благодарю уважаемого Максим Федоров за помощь:) Случаются приступы криворукости, пока кто-нибудь не ткнет носом, не замечаешь...
  • Вопрос задан
  • 772 просмотра
Решения вопроса 1
qonand
@qonand
Software Engineer
Compare Validator https://github.com/yiisoft/yii2/blob/master/docs/g...

уберите из параметров валидатора
'operator' => '='

Т.к. во первых Вы написали оператор присваивания а равно, операторы равно это == или === . А во вторых в этом валидаторе по умолчанию стоит оператор ==
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@karminski
Senior React.JS Developer
Иван Колесник Тостер не предназначен для вопросов, ответы на которые лежат в документации к изучаемому продукту. RTFM.
Ответ написан
Ваш ответ на вопрос

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

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