instance method
before_validation
Ruby on Rails 6.0.6
Since v3.0.20Signature
before_validation(*args, &block)
Defines a callback that will get called right before validation.
class Person include ActiveModel::Validations include ActiveModel::Validations::Callbacks attr_accessor :name validates_length_of :name, maximum: 6 before_validation :remove_whitespaces private def remove_whitespaces name.strip! end end person = Person.new person.name = ' bob ' person.valid? # => true person.name # => "bob"
Parameters
-
argsrest -
blockblock
Source
# File activemodel/lib/active_model/validations/callbacks.rb, line 56
def before_validation(*args, &block)
options = args.extract_options!
if options.key?(:on)
options = options.dup
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, :before, *args, options, &block)
end
Defined in activemodel/lib/active_model/validations/callbacks.rb line 56
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::Validations::Callbacks::ClassMethods