Не показывать «Новый пароль не соответствует подтверждению», пока пользователь не введет данные в Rails - PullRequest
1 голос
/ 29 марта 2012

Я пытаюсь "подправить" поведение, которое я вижу, используя валидатор Ruby on Rails. В нашем приложении мы запрашиваем подтверждение пароля перед сменой пароля.

Это очень легко с валидаторами Ruby, просто добавив валидацию в модель

 class ChangePassword < BaseModel
    validates_confirmation_of :password

Это автоматически активирует JavaScript, чтобы проверить его на стороне клиента, но проблема в том, что, когда пользователь вводит пароль и до ввода пароля подтверждения, он запускает «Новый пароль не соответствует подтверждению».

Мне нужно изменить это поведение, чтобы оно не показывало это на стороне JavaScript, если пароль подтверждения пуст, но продолжает выдавать эту ошибку, если пользователь нажимает кнопку «Отправить форму».

Возможно ли это в Rails?

Спасибо

1 Ответ

1 голос
/ 29 марта 2012

Вы можете сделать это методом условной проверки.

class ChangePassword < BaseModel
  validates_confirmation_of :password, :if => :password_present?

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