If the field is empty, then self.start_date is nil. Try this: def start_date_should_not_be_greater_than_current_date if !self.start_date.nil? if self.start_date > Date.today errors.add("Whatever") end end end
or something similar On Mar 5, 8:08 am, Hemant Bhargava <li...@ruby-forum.com> wrote: > I have wrote an validation function for checking that my starting date > should be greater than the current date as like > > validate :start_date_should_not_be_greater_than_current_date > > def start_date_should_not_be_greater_than_current_date > if self.start_date > Date.today > errors.add("Whatever") > end > end > > But the problem is that when i left empty the field for start_date when > filling values in form, this error is coming:- > ---- > You have a nil object when you didn't expect it! > The error occurred while evaluating nil.> > ---- > > I have also wrote some exceptions for my methods but these exceptions > are not catching this error. > > Can you guys tell me how to tackle with this situation.. > -- > Posted viahttp://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-t...@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.