before validate

i am using before validate to format my input from my view file for the columns of type DateTime. I have pasted the code for the validation and works well for creating a new record. However, when trying to update the record where the columns from and to (of type DateTime) are null, then they are not set in the update call. It seems like i am checking to see if the attribute is present and then does not find one (i guess it looks in the prior saved values in the db which is indeed empty?) even though on is sent in the update request.

  before_validation do     self.from = Time.parse(from.to_s) if attribute_present?("from")     self.to = Time.parse(to.to_s) if attribute_present?("to")     #puts "hello"   end

I think a “before_validation” is not the correct place to do this

input format conversion.

I would suggest to implement your requirement with code like

this (using a custom setter for those 2 fileds).

(untested, pseudo code):

def from=(time_string)

write_attribute(:from, parse_time(time_string))

end

def to=(time_string)

write_attribute(:to, parse_time(time_string))

end

def parse_time(time_string)

Time.parse(time_string)

end

private :parse_time

HTH,

Peter