adding model validation errors in rescue

Posted by ash34 on Stack Overflow See other posts from Stack Overflow or by ash34
Published on 2010-04-06T20:44:23Z Indexed on 2010/04/07 2:53 UTC
Read the original article Hit count: 369

Filed under:
|
|

I have the following model with a virtual attribute

class Mytimeperiod < ActiveRecord::Base
  validates presence of :from_dt
  validates_format_of :from_dt, :with => /\A\d{2}\/\d{2}\/\d{4}\Z/, :message => "format is mm/dd/yyyy"

  def from_dt
     self.from_date.strftime("%m/%d/%Y") if !self.from_date.blank?
  end

  def from_dt=(from_dt)
    self.from_date = Date.parse(from_dt)
  rescue
    self.errors.add_to_base("invalid from dt")
  end
end

I am using <%= f.error_messages %> to display the error messages on the form.

I am using from_dt as a virtual attribute (string). The 'presence of' and 'format of' validation errors show up on the form, but when the user enters an invalid date format on the form and Date.Parse raises an exception I have a 'errors.add_to_base' statement in the rescue clause. Can anyone tell me why this error does not show up in the form error messages when I disable the 'format of' validation.

thanks.

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about rails