diff --git a/lib/redmine/field_format.rb b/lib/redmine/field_format.rb index 34591bb..7ccc0ff 100644 --- a/lib/redmine/field_format.rb +++ b/lib/redmine/field_format.rb @@ -368,7 +368,7 @@ module Redmine def validate_single_value(custom_field, value, customized=nil) errs = super - errs << ::I18n.t('activerecord.errors.messages.not_a_number') unless value =~ /^[+-]?\d+$/ + errs << ::I18n.t('activerecord.errors.messages.not_a_number') unless value.to_s =~ /^[+-]?\d+$/ errs end diff --git a/test/unit/custom_field_test.rb b/test/unit/custom_field_test.rb index c20d7f6..e1166c8 100644 --- a/test/unit/custom_field_test.rb +++ b/test/unit/custom_field_test.rb @@ -193,6 +193,7 @@ class CustomFieldTest < ActiveSupport::TestCase assert f.valid_field_value?('+123') assert f.valid_field_value?('-123') assert !f.valid_field_value?('6abc') + assert f.valid_field_value?(123) end def test_float_field_validation @@ -205,6 +206,7 @@ class CustomFieldTest < ActiveSupport::TestCase assert f.valid_field_value?('-6.250') assert f.valid_field_value?('5') assert !f.valid_field_value?('6abc') + assert f.valid_field_value?(11.2) end def test_multi_field_validation