From 18cd6f5046eab460aa917a834546ed0e025ee1de Mon Sep 17 00:00:00 2001 From: Sergei Tsoganov Date: Tue, 30 May 2023 14:42:56 +0300 Subject: [PATCH] Added validation for one only IP --- app/models/white_ip.rb | 7 +++++++ config/locales/en.yml | 1 + 2 files changed, 8 insertions(+) diff --git a/app/models/white_ip.rb b/app/models/white_ip.rb index ec23030c2..bc7aee337 100644 --- a/app/models/white_ip.rb +++ b/app/models/white_ip.rb @@ -5,6 +5,7 @@ class WhiteIp < ApplicationRecord validate :valid_ipv4? validate :valid_ipv6? validate :validate_ipv4_and_ipv6 + validate :validate_only_one_ip before_save :normalize_blank_values def normalize_blank_values @@ -17,6 +18,12 @@ class WhiteIp < ApplicationRecord errors.add(:base, I18n.t(:ipv4_or_ipv6_must_be_present)) end + def validate_only_one_ip + return unless ipv4.present? && ipv6.present? + + errors.add(:base, I18n.t(:ip_must_be_one)) + end + def valid_ipv4? return if ipv4.blank? diff --git a/config/locales/en.yml b/config/locales/en.yml index 7a6fa2eb9..cf1e64bec 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -545,6 +545,7 @@ en: upload_crt: 'Upload CRT' crt_or_csr_must_be_present: 'CRT or CSR must be present' ipv4_or_ipv6_must_be_present: 'IPv4 or IPv6 must be present' + ip_must_be_one: 'Please enter only one IP address' white_ip: 'White IP' edit_white_ip: 'Edit white IP' confirm_domain_delete: 'Confirm domain delete'