instance method
after_validation
Ruby on Rails 5.2.8.1
Since v3.0.20Signature
after_validation(*args, &block)
Defines a callback that will get called right after validation.
class Person
include ActiveModel::Validations
include ActiveModel::Validations::Callbacks
attr_accessor :name, :status
validates_presence_of :name
after_validation :set_status
private
def set_status
self.status = errors.empty?
end
end
person = Person.new
person.name = ''
person.valid? # => false
person.status # => false
person.name = 'bob'
person.valid? # => true
person.status # => true
Parameters
-
argsrest -
blockblock
Source
# File activemodel/lib/active_model/validations/callbacks.rb, line 97
def after_validation(*args, &block)
options = args.extract_options!
options = options.dup
options[:prepend] = true
if options.key?(:on)
options[:on] = Array(options[:on])
options[:if] = Array(options[:if])
options[:if].unshift ->(o) {
!(options[:on] & Array(o.validation_context)).empty?
}
end
set_callback(:validation, :after, *args, options, &block)
end
Defined in activemodel/lib/active_model/validations/callbacks.rb line 97
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::Validations::Callbacks::ClassMethods