From 405412a24d7232162f61557a97d4091cd9830b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marius=20B=C4=82LTEANU?= Date: Fri, 2 Jan 2026 00:12:34 +0700 Subject: [PATCH] Fix RegexpError when validating CustomField with invalid regex and default value. diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb index d14b67bdb..0eed2bf31 100644 --- a/app/models/custom_field.rb +++ b/app/models/custom_field.rb @@ -158,7 +158,7 @@ class CustomField < ApplicationRecord end end - if default_value.present? + if default_value.present? && errors[:regexp].blank? validate_field_value(default_value).each do |message| errors.add :default_value, message end diff --git a/test/unit/custom_field_test.rb b/test/unit/custom_field_test.rb index a6c8d35d3..121e865d1 100644 --- a/test/unit/custom_field_test.rb +++ b/test/unit/custom_field_test.rb @@ -48,6 +48,15 @@ class CustomFieldTest < ActiveSupport::TestCase assert field.save end + def test_regexp_validation_with_invalid_regex_and_default_value + field = IssueCustomField.new(:name => 'regexp', :field_format => 'text', :regexp => '[', :default_value => 'abc') + assert !field.save + assert_include I18n.t('activerecord.errors.messages.invalid'), + field.errors[:regexp] + field.regexp = '[a-z0-9]' + assert field.save + end + def test_default_value_should_be_validated field = CustomField.new(:name => 'Test', :field_format => 'int') field.default_value = 'abc' -- 2.50.1 (Apple Git-155)