2011-02-10 3 views
0

Я хочу помочь пользователям заполнить эту анкету. Итак, давайте предположим, у меня есть модель customer сИспользуйте валидации для формы обратной связи

validates_presence_of :email 
validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message => 'must be a valid email address' 

Теперь я хочу получать сообщения об ошибках, которые принадлежат :email без фактических их вызова. Поэтому мне нужна строка «(электронная почта) не может быть пустым» и «(электронная почта) должна быть действительным адресом электронной почты», чтобы распечатать их в виде подсказок в моих регистрационных формах.

Так можно ли их получить?

ответ

0

Customer.validators предоставит вам массив валидаторов, затем вы можете их итератировать и получить, например: Customer.validators [0] .options [: message].

+0

Хорошо, я получаю список валидаторов с этим. Но я могу получить сообщение об ошибке, если это настраиваемое сообщение. Сообщение «PresenceValidator» не находится в указанном массиве. –

+0

Хм, не так легко получить. Вы можете использовать собственные сообщения об ошибках для всех (это то, что я делаю) или каким-то образом извлекать ошибки по умолчанию - они находятся в файле YAML. –

Смежные вопросы