Направляющие date_select помощник и проверка

У меня есть поле даты в модели поддержанная форма в моем Приложении для направляющих:

<%= f.date_select :birthday,
  {:start_year => Time.now.year,
  :end_year => 1900,
  :use_short_month => true,
  :order => [:month, :day, :year],
  :prompt => {:month => 'Month', :day => 'Day', :year => 'Year'}},
  {:class => 'year',
  :id => 'user_birthday'}
%>

Это проверяется в использовании типового кодекса:

validates_presence_of :birthday, :message => 'is a required field'

К сожалению, если пользователь вводит частичное значение такой как только год, форма все еще отправляет без ошибки. Вместо этого броское значение даты записано в дб. Как я заставляю все три поля быть обязательными?

Я хотел бы записать пользовательскую проверку для этого, но я не знаю, как правильно получить доступ к indvidual частям элемента дня рождения. Как я могу сделать это?

Спасибо! Moe

9
задан Mohit Jain 21 July 2010 в 09:32
поделиться

1 ответ

Вы можете переопределить метод validate_on_create , например:

class MyModel < ActiveRecord::Base
  def validate_on_create
    Date.parse(birthday)
  rescue
    errors.add_to_base("Wrong date format")
  end
end
0
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: