Custom Validation

Hello all,

I'm trying to figure out how to validate a zip code in my user model. I can validate it's all nuneric and five digits but I would like to validate it against a zip code table.

I know I need to create a zipcodes table and assume a zipcodes model. In the user model, how/where do I call the Zipcode.find ?

Thanks

Hi Mark,

I’m assuming you want to validate the zipcode when saving (say) an address. So in your address model, put something like this:

validates_each :zipcode do |model, attr, value| model.errors.add (attr, “is not valid”) if Zipcode.find_by_zipcode(value).nil? end

Where Zipcode is the name of your zipcode model that contains valid zipcodes. This assumes that zipcodes in the zipcode table are unique. I don’t think I’ve ever used the word zipcode this many times in a single email.

-Dan