class ActiveModel::Validations::LengthValidator

def check_validity!

def check_validity!
  keys = CHECKS.keys & options.keys
  if keys.empty?
    raise ArgumentError, "Range unspecified. Specify the :in, :within, :maximum, :minimum, or :is option."
  end
  keys.each do |key|
    value = options[key]
    unless (value.is_a?(Integer) && value >= 0) || value == Float::INFINITY
      raise ArgumentError, ":#{key} must be a nonnegative Integer or Infinity"
    end
  end
end