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