The validation process on save can be skipped by passing false. The regular Base#save method is replaced with this when the validations module is mixed in, which it is by default.
# File lib/active_record/validations.rb, line 42
42: def save(options={})
43: perform_validations(options) ? super : false
44: end
Attempts to save the record just like Base#save but will raise a RecordInvalid exception instead of returning false if the record is not valid.
# File lib/active_record/validations.rb, line 48
48: def save!(options={})
49: perform_validations(options) ? super : raise(RecordInvalid.new(self))
50: end
Runs all the specified validations and returns true if no errors were added otherwise false.
# File lib/active_record/validations.rb, line 53
53: def valid?(context = nil)
54: context ||= (persisted? ? :update : :create)
55: output = super(context)
56:
57: deprecated_callback_method(:validate)
58: deprecated_callback_method(:"validate_on_#{context}")
59:
60: errors.empty? && output
61: end
# File lib/active_record/validations.rb, line 65
65: def perform_validations(options={})
66: perform_validation = case options
67: when Hash
68: options[:validate] != false
69: else
70: ActiveSupport::Deprecation.warn "save(#{options}) is deprecated, please give save(:validate => #{options}) instead", caller
71: options
72: end
73:
74: if perform_validation
75: valid?(options.is_a?(Hash) ? options[:context] : nil)
76: else
77: true
78: end
79: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.