internetee-registry/lib/validators/phone_validator.rb
2017-08-05 19:21:32 +03:00

19 lines
449 B
Ruby

class PhoneValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
return if record.errors[:phone].any?
phone_parts = value.split('.')
country_code = phone_parts.first
subscriber_no = phone_parts.second
if zeros_only?(country_code) || zeros_only?(subscriber_no)
record.errors.add(attribute, :invalid)
end
end
private
def zeros_only?(value)
value.delete('0+').empty?
end
end