Date Validation for date_select

I am new to Rails and I am building this website based on the tutorials from a book called Railspace. My problem is I have a form page which accepts the date for a birthdate field

      <div class="form_row">         <label for="birthdate"> Birthdate </label>         <%= date_select :spec, :birthdate,                                           :start_year=>Spec::START_YEAR,                                           :end_year=>Time.now.year,                                           :include_blank=>true,                                           :order =>[:month, :day, :year] %>

      </div>

It works fine when I enter correct dates but when I try entering something like Feb 31 2009 it gives me the following error.

       1 error(s) on assignment of multiparameter attributes

My parameter variable shows that its being passed as 3 seperate values (that is my understanding please correct me if I am wrong)

{"commit"=>"Update", "spec"=>{"city"=>"Atlanta", "occupation"=>"Software programmer", "zip_code"=>"21312", "birthdate(1i)"=>"1907", "gender"=>"Male", "birthdate(2i)"=>"2", "birthdate(3i)"=>"31", "first_name"=>"Dilbert", "last_name"=>"Dilbert", "state"=>"Georgia"}}

I cannot seem to validate this using the validate method on the controller as I am unable to fetch the values of the parameters. Ive tried using something like

def validate if (birthdate.month==2 && birthdate.day > 29)        errors.add(:birthdate, "Invalida date") end

but its seems to completely bypass this. It works correctly when i simply type if(birthdate.month==2 )     errors.add(......) but I dont seem to understand why I cannot validate it.

Could someone explain this to me. Thanks in advance.