summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHonza Král <honza.kral@gmail.com>2009-08-12 20:11:10 +0000
committerHonza Král <honza.kral@gmail.com>2009-08-12 20:11:10 +0000
commit2799e928432ba18ca77a74a5231833ba6d0f229c (patch)
treef0a92de24eb36dce229cb716c8be4cca634272cc
parent106089c18e3c15a801fc339d773f8d227228924d (diff)
[soc2009/model-validation] Make sure that error messages with parameter get handled correctly
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/model-validation@11438 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/forms/fields.py4
-rw-r--r--django/forms/forms.py7
2 files changed, 7 insertions, 4 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py
index b21b936004..d8f3e1477c 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -127,8 +127,8 @@ class Field(object):
try:
v(value)
except ValidationError, e:
- if hasattr(e, 'code'):
- message = self.error_messages.get(e.code, e.messages[0])
+ if hasattr(e, 'code') and e.code in self.error_messages:
+ message = self.error_messages[e.code]
if e.params:
message = message % e.params
errors.append(message)
diff --git a/django/forms/forms.py b/django/forms/forms.py
index ea3fe28bfe..42ee5dd82f 100644
--- a/django/forms/forms.py
+++ b/django/forms/forms.py
@@ -264,8 +264,11 @@ class BaseForm(StrAndUnicode):
except ValidationError, e:
failed = True
error_list = self._errors.setdefault(name, self.error_class())
- if hasattr(e, 'code'):
- error_list.append(field.error_messages.get(e.code, e.messages[0]))
+ if hasattr(e, 'code') and e.code in field.error_messages:
+ message = field.error_messages[e.code]
+ if e.params:
+ message = message % e.params
+ error_list.append(message)
else:
error_list.extend(e.messages)
if failed: