Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 841
  • Last Modified:

Checking date of birth is greater than today

hi,

I need to dob is greater than today and this is what I did, but I get this error:

undefined method `/' for Tue Nov 20 14:21:26 -0500 2007:Time

++++++++++
class AttendingIp < ActiveRecord::Base
...
...
def validate_on_create(today = Date::today)
    if dob >  Date.new(Time.now)
      errors.add("dob", "Date of birth must be less than " + Time.now.to_formatted_s(:my_format_0) + ".")
    end
  end
++++++++++

thx,
0
dkim18
Asked:
dkim18
1 Solution
 
Geert BormansInformation ArchitectCommented:
Time.now generates a time string in this format "Wed Nov 21 09:50:01 +0100 2007"
you can't use that in calculations,
so this will not work
Date.new(Time.now)

if you need to create a Date object from today,
all you need is
today = Date.today
0
 
peh803Commented:
@dkim18:

Do you need further assistance with comparing dates?

Thanks,
Phil / peh803
0
 
rbaraziCommented:
Use this snippet if your dob column is date (which is how it's supposed to be), otherwise use Time.now instead
validate_on_create :validate_dob
 
private
  def validate_dob
    if self.dob >  Date.today
      errors.add("dob", "Date of birth must be less than #{Date.today}")
    end
  end

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now