From 4d5830efdfff2a757aa9d720b22f4cee49a6a62e Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 11 Sep 2017 23:37:02 +0300 Subject: [PATCH] Show more detailed error message for ident of "birthday" type #569 --- app/models/contact/ident.rb | 2 +- config/locales/en.yml | 2 +- lib/validators/iso8601_validator.rb | 2 +- spec/lib/validators/iso8601.rb | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/models/contact/ident.rb b/app/models/contact/ident.rb index fdbaa0e9f..b95ad56de 100644 --- a/app/models/contact/ident.rb +++ b/app/models/contact/ident.rb @@ -25,7 +25,7 @@ class Contact::Ident [:base, :mismatch], [:code, :invalid_national_id], [:code, :invalid_reg_no], - [:code, :invalid_iso8601], + [:code, :invalid_iso8601_date], [:country_code, :invalid_iso31661_alpha2] ] } diff --git a/config/locales/en.yml b/config/locales/en.yml index d7f0beb09..62d145b28 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -236,7 +236,7 @@ en: domain_exists_but_belongs_to_other_registrar: 'Domain exists but belongs to other registrar' required_ident_attribute_missing: "Required ident attribute missing: %{key}" invalid_iso31661_alpha2: does not conform to ISO 3166-1 alpha-2 standard - invalid_iso8601: does not conform to ISO 8601 standard + invalid_iso8601_date: has invalid date format YYYY-MM-DD (ISO 8601) code: 'Code' value: 'Value' diff --git a/lib/validators/iso8601_validator.rb b/lib/validators/iso8601_validator.rb index ca57203d5..bbcf63798 100644 --- a/lib/validators/iso8601_validator.rb +++ b/lib/validators/iso8601_validator.rb @@ -1,7 +1,7 @@ class Iso8601Validator < ActiveModel::EachValidator def validate_each(record, attribute, value) if options[:date_only] - record.errors.add(attribute, :invalid_iso8601) unless value =~ date_format + record.errors.add(attribute, :invalid_iso8601_date) unless value =~ date_format end end diff --git a/spec/lib/validators/iso8601.rb b/spec/lib/validators/iso8601.rb index fc1133838..78d8f2c4a 100644 --- a/spec/lib/validators/iso8601.rb +++ b/spec/lib/validators/iso8601.rb @@ -5,13 +5,13 @@ RSpec.shared_examples 'iso8601' do it 'rejects invalid' do model.send("#{attribute}=", '2010-07-0') model.validate - expect(model.errors).to be_added(attribute, :invalid_iso8601) + expect(model.errors).to be_added(attribute, :invalid_iso8601_date) end it 'accepts valid' do model.send("#{attribute}=", '2010-07-05') model.validate - expect(model.errors).to_not be_added(attribute, :invalid_iso8601) + expect(model.errors).to_not be_added(attribute, :invalid_iso8601_date) end end end