Правильная форма правил валидации (Rails 3) - PullRequest
2 голосов
/ 29 января 2012

Я использую эти правила в моей модели:

 validates_presence_of :email, :message => "E-mail must be filled!"
  validates_format_of :email, :with => /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/, :message => "This is not email address!"
  validates_uniqueness_of :email, :message => "This email is already taken!"

  validates_confirmation_of :password, :message => "Password must be the same!"
  validates_presence_of :password_confirmation, :length => { :minimum => 6, :maximum => 40 }, :message => "Your password must have at least 6 characters!"

Если я отправлю пустую форму, в качестве результата будут отображены все эти 5 строк выше.Что мне нужно сделать, чтобы отобразить только 1-е и 5-е правила?

1 Ответ

1 голос
/ 31 января 2012

Вот одно из решений .

По сути, совет заключается в использовании опции :allow_blank для всех проверок, кроме проверок присутствия.Это заставляет Rails пропускать проверки, если поле пустое.Таким образом, вы видите только сообщения об ошибках, связанные с отсутствующими значениями, при отправке пустой формы.

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