I ended up solving the problem using Philip's solution (thanks). Curtis, thanks for the recommendation, but zero is a valid leading value for some zip codes, so only doing a range of 1-9 wouldn't be as tight of a check as I would've liked.
Thank you all for your help and replies. --- Jason Soo "I'm going to live forever or die trying." On Sun, Jan 3, 2010 at 4:18 PM, Curtis Jennings Schofield < [email protected]> wrote: > be more explicit in your reg exp > ie the first numeric must be [1-9] > > > On Sun, Jan 3, 2010 at 1:36 PM, Jason Soo <[email protected]> wrote: > > Regex fails on validation even. > > Plus just saying reg exp is not very helpful. I'm not sure how to trap > the > > call before it reaching sql (assuming that is the best way to do it) > which > > is really what I'm trying to figure out. > > > > > > Sidebar: > > validates_format_of :zip_code, :with => /\A[0-9]{5}\Z/i, > > fails on something like this 03062. > > --- > > Jason Soo > > "I'm going to live forever or die trying." > > > > > > On Sun, Jan 3, 2010 at 2:32 PM, tom <[email protected]> wrote: > >> > >> reg exp > >> > >> On Sun, Jan 3, 2010 at 3:02 PM, jsoo <[email protected]> wrote: > >> > Hey > >> > > >> > I'm running into an small issue with searching a zip codes table, > >> > where some zip codes contain 1 or more leading zeros. This problem > >> > could be fixed with some database level hacking -- but I'd rather > >> > attack the problem in rails. > >> > > >> > Zip codes are stored in the zip code table with leading zeros dropped. > >> > 01234 becomes 1234. Thus, when someone searches via the website for > >> > 012345, it will not find any results. > >> > > >> > I'm looking to write a method (probably in the Zipcode model) to > >> > remove any leading zeros from an incoming search request, before it > >> > gets passed into sql calls. > >> > > >> > I looked into callbacks, but those appears to only be useful when > >> > creating/saving/updating/deleting data, whereas I need to address > >> > searching. > >> > > >> > Any suggestions on the correct/best way to do this? Again, I'm > >> > looking for a rails solution, not a database level solution. > >> > > >> > Thanks > >> > > >> > -- > >> > > >> > You received this message because you are subscribed to the Google > >> > Groups "Ruby on Rails: Talk" group. > >> > To post to this group, send email to > [email protected]. > >> > To unsubscribe from this group, send email to > >> > [email protected]<rubyonrails-talk%[email protected]> > . > >> > For more options, visit this group at > >> > http://groups.google.com/group/rubyonrails-talk?hl=en. > >> > > >> > > >> > > >> > >> -- > >> > >> You received this message because you are subscribed to the Google > Groups > >> "Ruby on Rails: Talk" group. > >> To post to this group, send email to [email protected]. > >> To unsubscribe from this group, send email to > >> [email protected]<rubyonrails-talk%[email protected]> > . > >> For more options, visit this group at > >> http://groups.google.com/group/rubyonrails-talk?hl=en. > >> > >> > > > > -- > > > > You received this message because you are subscribed to the Google Groups > > "Ruby on Rails: Talk" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<rubyonrails-talk%[email protected]> > . > > For more options, visit this group at > > http://groups.google.com/group/rubyonrails-talk?hl=en. > > > > -- > > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<rubyonrails-talk%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

