Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > валидация форм и вывод ошибок


Автор: imdogma 17.7.2009, 18:00
Подскажите как можно кастомизировать вывод ошибок после валидации. Нужно получить в результате, чтобы под каждым полем выводился весь список ошибок, которые были допущены к этому полю. Пробовал error_message_on - выводит только одну ошибку за раз. А если у меня произошла не одна, а к примеру несколько ошибок? (емаил пустой и неправильный формат наример) error_messages_for - выводит вообще весь массив ошибок. Как поступить, подскажите?

Автор: Blake 10.8.2009, 02:48
Для получения всех ошибок(в виде массива) надо обратиться к методу on в наборе errors. c параметром имени поля:
model.errors.on(:property_name)

Вот пример с консоли:

Код


>> u = User.new
=> #<User id: nil, login: nil, email: nil, crypted_password: nil, salt: nil, created_at: nil, updated_at: nil, remember_token: nil, remember_token_expires_at: nil, pen_name: nil, first_name: nil, last_name: nil, patronymic: nil, birthday: nil, about_me: nil>
>> u.save
=> false
>> u.errors.on(:login)
=> ["не может быть пустым", "недостаточной длины (не может быть меньше 3 символов)", "имеет неверное значение"]




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)