1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-02-01 03:57:15 +00:00

Fix 500 error when saving a custom field with an invalid regular expression (#43521).

git-svn-id: https://svn.redmine.org/redmine/trunk@24259 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Marius Balteanu 2026-01-05 08:21:44 +00:00
parent 29bad5d405
commit 1b0307b02d
2 changed files with 10 additions and 1 deletions

View File

@ -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

View File

@ -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'