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.


Reply via email to