Validation Problem


I’m trying to do something pretty basic - validate a form field
against a regex. Here’s the line of my model that adds the validation:

validates_format_of :zipcode, :with => /\d{5}(-\d{4})?/, :message =>
‘is failing the regex’

When I enter the value “12345” into the form field, it comes back and
tells me that “Zipcode is failing the regex”. What’s odd is that I’ve
gotten sporadic success, where the validations will pass - sometimes
with values that failed previously.

I feel confident of the regex itself and testing it in IRB yields the
results I would expect. Once I use it in the validation, then it stops

Does anyone know what might be going on? Failing that, any ideas for
where to start troubleshooting this would be appreciated.


Ah, I just figured it out!

As an aside, and I’m not sure if anyone else notices the same thing,
but it seems like the easiest way for me to solve my own problem is to
ask for help. Never fails.

The issue, in case someone else runs into it, was that I had
accidentally created a new method on my class called “zipcode” (it
returned a ZipCode object, where the zipcode is a string). Somehow,
perhaps based on whether or not zipcode was set, the validation was
using the string sometimes and the object the rest of the time (yes,
yes, I know strings are objects too). This is why my results were


On Dec 31, 12:56 am, emarthinsen [email protected]