I posted this question the other day, but it was pretty late so I think
I wrote a bunch of gibberish. So let me try it now that I’ve been
properly doused with caffeine.
The Problem: I’m using the “before_validation” callback to modify an
attribute value on a particular model object before it gets validated.
I’m also using “validates_format_of” to do error checking on that same
model attribute. If “before_validation” doesn’t happen before
“validates_format_of”, Rails blows up.
Looking in my AWDWR book, it looks like when you call model.save(),
there is an order to validation:
However, when I try to create a new model object, it looks like
before_validation does not get called before “validates_format_of”. My
assumption would be that the “validates_” helpers should before after
“before_validation”, but this doesn’t seem to be correct.
Can anyone help me out with this? When does “validates_format_of” get
called in relation to “before_validation”?
I’m having the same problem. I want to allow people to enter a value
including a $ or Â£. With this method, the value of the attribute in
before_validation is zero if I enter a value with text (or a $) at the
So entering $1000 is turned into 0, before before_validation.
Marli Ba wrote:
Can you post your before_validation code?
What actually blows up? Can you also post the relevant lines from the
I am having this same problem. It seems the before_validation isn’t
working in mine: