Подтверждение пароля с помощью validates_format_of - PullRequest
0 голосов
/ 30 мая 2019

РЕДАКТИРОВАТЬ: я понял, что комментарии о том, что нет никакой разницы: сохранение уже было правильно, и смог работать с некоторыми ошибками.Тем не менее, кажется, что проверка регулярных выражений не удалась для :password.

Я немного запутался и думаю, что проблема может быть связана с тем, что в самой таблице есть только :password_digest, пока мы используемпароль и password_confirmation в качестве атрибутов в модели.Но я также предполагаю, что в Rails все это сработало и обо всем позаботится с помощью функции has_secure_password.

validates_format_of :password, :with => /\A[a-zA-Z]\z/, :on => :create, :update завершается ошибкой со строкой password.

Очевидно, этоне имеет смысла и отлично согласуется в консоли (с использованием =~ или .match(). Также обратите внимание, если я установил allow_nil: true для :password, другие тесты с участием пользователя начинают давать сбои (что не имеет смысла, так какпароль никогда не должен быть равен нулю).

Ответы [ 2 ]

1 голос
/ 30 мая 2019

Я не вижу ни одного варианта использования, когда вам нужно создавать и обновлять вместе, если on: :save уже существует. Для получения дополнительной информации об обратном вызове см. this.

0 голосов
/ 30 мая 2019

В соответствии с документация рельсов

Поведение по умолчанию для всех встроенных помощников проверки должно выполняться при сохранении (как при создании новой записи, так и при ее обновлении). Если вы хотите изменить его, вы можете использовать on:: create для запуска проверки только при создании новой записи или on: update для запуска проверки только при обновлении записи.

Таким образом, вы не должны использовать опцию :on при проверке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...