Active Record Validations
Active Record includes the majority of its validations from ActiveModel::Validations all of
which accept the :on argument to define the context where the
validations are active. Active Record will always supply either the context
of :create or :update dependent on whether the
model is a new_record?.
The validation process on save can be skipped by passing validate:
false. The regular ActiveRecord::Base#save method is
replaced with this when the validations module is mixed in, which it is by
default.
Attempts to save the record just like ActiveRecord::Base#save but will
raise an ActiveRecord::RecordInvalid
exception instead of returning false if the record is not
valid.
Runs all the validations within the specified context. Returns
true if no errors are found, false otherwise.
Aliased as validate.
If the argument is false (default is nil), the
context is set to :create if new_record? is
true, and to :update if it is not.
Validations with no :on option will run no matter the context.
Validations with some :on option will only run in the
specified context.