# Re: Custom Validation

**URL:** <https://www.ruby-forum.com/t/re-custom-validation/114920>\
**Category:** Rails\
**Created:** [September 18, 2007, 8:29pm UTC](https://www.ruby-forum.com/t/re-custom-validation/114920 "2007-09-18T20:29:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mslagell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e274bd/32.png) [@mslagell](https://www.ruby-forum.com/u/mslagell)\
**Post date:** [September 18, 2007, 8:29pm UTC](https://www.ruby-forum.com/t/re-custom-validation/114920/1 "2007-09-18T20:29:30Z")

</div>

Thanks Dan. This is just what I was looking for!

----- Original Message ----  
From: Dan F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: removed\_email\_address@domain.invalid  
Sent: Tuesday, September 18, 2007 2:13:18 PM  
Subject: [Rails] Re: Custom Validation

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

On 9/18/07, Mark [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

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
