internetee-registry/app/validators/contact/ident/reg_no_validator.rb
Artur Beljajev d520b5b157 Revert "Revert "Registry 569""
This reverts commit 4786dbb
2017-10-22 23:57:11 +03:00

21 lines
478 B
Ruby

class Contact::Ident::RegNoValidator < ActiveModel::EachValidator
def self.country_specific_formats
{
Country.new('EE') => /\A[0-9]{8}\z/,
}
end
def validate_each(record, attribute, value)
format = format_for(record.country)
return unless format
record.errors.add(attribute, :invalid_reg_no, country: record.country) unless value =~ format
end
private
def format_for(country)
self.class.country_specific_formats[country]
end
end