Validate IPv4 on nameserver when in the same zone with domain

This commit is contained in:
Martin Lensment 2014-10-01 11:22:30 +03:00
parent 4f780e0c1a
commit b85420a598
4 changed files with 28 additions and 0 deletions

View file

@ -49,6 +49,7 @@ class Domain < ActiveRecord::Base
validate :validate_tech_contacts_uniqueness
validate :validate_admin_contacts_uniqueness
validate :validate_domain_statuses_uniqueness
validate :validate_nameserver_ips
attr_accessor :owner_contact_typeahead
@ -98,6 +99,15 @@ class Domain < ActiveRecord::Base
end
end
def validate_nameserver_ips
nameservers.each do |ns|
next if !ns.hostname.end_with?(name)
next if ns.ipv4.present?
errors.add(:nameservers, :invalid) if errors[:nameservers].blank?
ns.errors.add(:ipv4, :blank)
end
end
def validate_tech_contacts_uniqueness
contacts = domain_contacts.reject(&:marked_for_destruction?).select { |x| x.contact_type == DomainContact::TECH }
validate_domain_contacts_uniqueness(contacts)

View file

@ -17,6 +17,9 @@ class Nameserver < ActiveRecord::Base
[:hostname, :invalid, { value: { obj: 'hostObj', val: hostname } }],
[:ipv4, :invalid, { value: { obj: 'hostAddr', val: ipv4 } }],
[:ipv6, :invalid, { value: { obj: 'hostAddr', val: ipv6 } }]
],
'2306' => [
[:ipv4, :blank]
]
}
end