Sunday, August 14, 2011

Re: [Rails] RegExp error:

On Aug 14, 2011, at 2:29 PM, Misha Ognev wrote:

> Hi! This problem(in model):
>
> validates :some_digits_collection, :presence => true, :format =>
> { :with
> => /^\d*$/, :message => "Must contain only digits!" }
>
> So, :some_digits_collection must match only digits. But when I puts
> "123f"(for example) in my form, it matches too and there no errors!
> Why?

That's really curious. I tested your regexp at Rubular, and it really
does match and work the way you want it to. What gets stored in the
database after this passes? Perhaps the input value is being cast to
an integer for storage, and so the trailing letters are being stripped
out. IF the validation happens after the cast, that could explain it
-- but only if the value that ends up being stored is actually free of
letters.

Walter

--
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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate