diff --git a/app/models/nameserver.rb b/app/models/nameserver.rb index 6bd7bf0dc..d0c3dbf6e 100644 --- a/app/models/nameserver.rb +++ b/app/models/nameserver.rb @@ -28,6 +28,7 @@ class Nameserver < ActiveRecord::Base ], '2005' => [ [:hostname, :invalid, { value: { obj: 'hostAttr', val: hostname } }], + [:hostname_puny, :puny_to_long, { value: { obj: 'hostAttr', val: hostname } }], [:ipv4, :invalid, { value: { obj: 'hostAddr', val: ipv4 } }], [:ipv6, :invalid, { value: { obj: 'hostAddr', val: ipv6 } }] ], @@ -44,8 +45,8 @@ class Nameserver < ActiveRecord::Base end def check_label_length - hostname.split('.').each do |label| - errors.add(:hostname, :invalid) if label.length > 63 + hostname_puny.split('.').each do |label| + errors.add(:hostname_puny, :puny_to_long) if label.length > 63 end end diff --git a/config/locales/en.yml b/config/locales/en.yml index 16e29ae45..732da5295 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -134,6 +134,8 @@ en: hostname: invalid: 'Hostname is invalid' taken: 'Nameserver already exists on this domain' + hostname_puny: + puny_to_long: 'Hostname puny is too long (maximum is 63 characters)' ipv4: blank: 'IPv4 is missing' invalid: 'IPv4 is invalid'