diff --git a/app/models/pages_domain.rb b/app/models/pages_domain.rb index f2f2fc1e32a3655320c3efa7dda035d6aaea2c2c..9873ad992cd7ae20ed6a108c8a3f6af58f962926 100644 --- a/app/models/pages_domain.rb +++ b/app/models/pages_domain.rb @@ -1,7 +1,7 @@ class PagesDomain < ActiveRecord::Base belongs_to :project - validates :domain, hostname: true + validates :domain, hostname: { allow_numeric_hostname: true, require_valid_tld: true } validates :domain, uniqueness: { case_sensitive: false } validates :certificate, certificate: true, allow_nil: true, allow_blank: true validates :key, certificate_key: true, allow_nil: true, allow_blank: true diff --git a/changelogs/unreleased/allow_numeric_pages_domain.yml b/changelogs/unreleased/allow_numeric_pages_domain.yml new file mode 100644 index 0000000000000000000000000000000000000000..10d9f26f88d81e20f5b3f2a6849794768e9deeed --- /dev/null +++ b/changelogs/unreleased/allow_numeric_pages_domain.yml @@ -0,0 +1,4 @@ +--- +title: Allow numeric pages domain +merge_request: 11550 +author: diff --git a/spec/models/pages_domain_spec.rb b/spec/models/pages_domain_spec.rb index c6c45d789902431c2938ed357ca1f7a823021e1e..dc646fc69181a0c1a132ce1a72055fd0da35a564 100644 --- a/spec/models/pages_domain_spec.rb +++ b/spec/models/pages_domain_spec.rb @@ -20,6 +20,12 @@ it { is_expected.to be_valid } end + context 'valid numeric domain' do + let(:domain) { '123.domain.com' } + + it { is_expected.to be_valid } + end + context 'valid hexadecimal-looking domain' do let(:domain) { '0x12345.com'}