Colin Law wrote in post #1071428:
Thanks for the pointer.
Here's the quick answer for future users, from RoR api:
"If the returning value of a before_validation callback can be evaluated
to false, the process will be aborted and Base#save will return false.
If ActiveRecord::Validations#save! is called it will raise a
ActiveRecord::RecordInvalid exception. Nothing will be appended to the
errors object.
...
If a before_* callback returns false, all the later callbacks and the
associated action are cancelled. If an after_* callback returns false,
all the later callbacks are cancelled. Callbacks are generally run in
the order they are defined, with the exception of callbacks defined as
methods on the model, which are called last."