Class: ActiveModel::Validations::FormatValidator
- Inherits:
-
EachValidator
- Object
- ActiveModel::Validator
- EachValidator
- ActiveModel::Validations::FormatValidator
- Defined in:
- lib/active_model/validations/format.rb
Overview
:nodoc:
Instance Attribute Summary
Attributes inherited from EachValidator
Attributes inherited from ActiveModel::Validator
Instance Method Summary collapse
Methods inherited from EachValidator
Methods inherited from ActiveModel::Validator
#initialize, kind, #kind, #validate
Constructor Details
This class inherits a constructor from ActiveModel::EachValidator
Instance Method Details
#check_validity! ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/active_model/validations/format.rb', line 16 def check_validity! unless .include?(:with) ^ .include?(:without) # ^ == xor, or "exclusive or" raise ArgumentError, "Either :with or :without must be supplied (but not both)" end :with :without end |
#validate_each(record, attribute, value) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/active_model/validations/format.rb', line 6 def validate_each(record, attribute, value) if [:with] regexp = option_call(record, :with) record_error(record, attribute, :with, value) if !value.to_s&.match?(regexp) elsif [:without] regexp = option_call(record, :without) record_error(record, attribute, :without, value) if regexp.match?(value.to_s) end end |