Не показывать "Новый пароль не соответствует подтверждению", пока пользователь не введет данные в Rails
Я пытаюсь "настроить" поведение, которое я вижу, используя валидатор Ruby on Rails. В нашем приложении мы запрашиваем подтверждение пароля перед сменой пароля.
Это очень легко с валидаторами Ruby, просто добавив валидацию в модель
class ChangePassword < BaseModel
validates_confirmation_of :password
Это автоматически активирует JavaScript, чтобы проверить его на стороне клиента, но проблема в том, что, когда пользователь вводит пароль и перед вводом пароля подтверждения, он запускает "Новый пароль не соответствует подтверждению".
Мне нужно изменить это поведение, чтобы оно не показывало это на стороне JavaScript, если пароль подтверждения пуст, но продолжает вызывать эту ошибку, если пользователь нажимает кнопку "Отправить форму".
Возможно ли это в Rails?
Спасибо
1 ответ
Решение
Вы можете сделать это методом условной проверки.
class ChangePassword < BaseModel
validates_confirmation_of :password, :if => :password_present?
private
def password_present?
password.present?
end
end