Class: FluentValidation::Validators::LengthValidator

Inherits:
AttributeValidator show all
Defined in:
lib/fluent_validation/validators/length_validator.rb

Instance Method Summary collapse

Methods inherited from AttributeValidator

#validate

Methods inherited from Validator

#validate

Constructor Details

#initialize(min, max) ⇒ LengthValidator

Returns a new instance of LengthValidator.



6
7
8
9
# File 'lib/fluent_validation/validators/length_validator.rb', line 6

def initialize(min, max)
  @min = min
  @max = max
end

Instance Method Details

#generate_failure_message(attribute_name, attribute_value) ⇒ Object



19
20
21
# File 'lib/fluent_validation/validators/length_validator.rb', line 19

def generate_failure_message(attribute_name, attribute_value)
  "#{attribute_name} must be between #{@min} and #{@max} characters. You provided #{attribute_value.length} characters."
end

#is_valid?(validator_context) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
# File 'lib/fluent_validation/validators/length_validator.rb', line 11

def is_valid?(validator_context)
  if validator_context.attribute_value.nil?
    true
  else
    validator_context.attribute_value.length >= @min && validator_context.attribute_value.length <= @max
  end
end