EachValidator is a validator which iterates through the
attributes given in the options hash invoking the
validate_each method passing in the record, attribute and
value.
All Active Model validations are built on top of this validator.
- C
 - N
 - V
 
| [R] | attributes | 
Returns a new validator instance. All options will be available via the
options reader, however the :attributes option
will be removed and instead be made available through the
attributes reader.
Hook method that gets called by the initializer allowing verification that
the arguments supplied are valid. You could for example raise an
ArgumentError when invalid options are supplied.
Performs validation on the supplied record. By default this will call
validates_each to determine validity therefore subclasses
should override validates_each with validation logic.
# File activemodel/lib/active_model/validator.rb, line 149 def validate(record) attributes.each do |attribute| value = record.read_attribute_for_validation(attribute) next if (value.nil? && options[:allow_nil]) || (value.blank? && options[:allow_blank]) validate_each(record, attribute, value) end end
Override this method in subclasses with the validation logic, adding errors
to the records errors array where necessary.