summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-11-29 21:12:58 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-11-29 21:12:58 +0000
commitff75a959e0eb834fd05fdaa39b5cddbfb70e97f0 (patch)
tree56fa96ab9dc89257dc628555681d3494b7facc02
parent5d1388db02a263de3515700e9c2f8a6a4a98ef00 (diff)
downloadredmine-ff75a959e0eb834fd05fdaa39b5cddbfb70e97f0.tar.gz
redmine-ff75a959e0eb834fd05fdaa39b5cddbfb70e97f0.zip
Merged r7779 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@7998 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/custom_value.rb2
-rw-r--r--test/unit/custom_value_test.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/app/models/custom_value.rb b/app/models/custom_value.rb
index 97bd47f94..f31ffee7f 100644
--- a/app/models/custom_value.rb
+++ b/app/models/custom_value.rb
@@ -62,7 +62,7 @@ protected
when 'float'
begin; Kernel.Float(value); rescue; errors.add(:value, :invalid) end
when 'date'
- errors.add(:value, :not_a_date) unless value =~ /^\d{4}-\d{2}-\d{2}$/
+ errors.add(:value, :not_a_date) unless value =~ /^\d{4}-\d{2}-\d{2}$/ && begin; value.to_date; rescue; false end
when 'list'
errors.add(:value, :inclusion) unless custom_field.possible_values.include?(value)
end
diff --git a/test/unit/custom_value_test.rb b/test/unit/custom_value_test.rb
index 49ae28cec..467d1f6c0 100644
--- a/test/unit/custom_value_test.rb
+++ b/test/unit/custom_value_test.rb
@@ -64,6 +64,8 @@ class CustomValueTest < ActiveSupport::TestCase
assert v.valid?
v.value = 'abc'
assert !v.valid?
+ v.value = '1975-07-33'
+ assert !v.valid?
v.value = '1975-07-14'
assert v.valid?
end