Datetime_select validation


#1

I’m using a datetime_select. When I select an invalid date like 31
february 2007 it’s received by the model as 3 march 2007. I would like
to generate a nice error for the user, but the only option I see now is
hack this into the controller. Not so nice…

Joep Mathijssen


#2

Hi Joep,

if you’re using datetime_select to set a DateTime property in your
model, then you might want to consider using the pluging from Jonathan
Viney available at:

readme:
http://svn.viney.net.nz/things/rails/plugins/validates_date_time/README
svn: http://svn.viney.net.nz/things/rails/plugins/validates_date_time

This plugin can validate dates and times with some extra constraints
(:before, :after, …) for properties of your model. There are some
small examples at:

http://www.railsonwave.com/railsonwave/2006/12/13/howto-validate-date-format-in-ruby-on-rails

You may want to replace the parse_date function in parser.rb with the
one from Matt G. explained at:

http://mattgriffith.net/Permalink.aspx?guid=4740f630-85db-4a4c-b199-8445b345f4f4

If you only want to select dates then you’re better off with
date_select:

http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#M000469

Kind regards,

Mark


#3

Hi, please search this group because I have answered this question.

Good luck,

-Conrad