diff options
| author | Honza Král <honza.kral@gmail.com> | 2009-08-12 20:11:10 +0000 |
|---|---|---|
| committer | Honza Král <honza.kral@gmail.com> | 2009-08-12 20:11:10 +0000 |
| commit | 2799e928432ba18ca77a74a5231833ba6d0f229c (patch) | |
| tree | f0a92de24eb36dce229cb716c8be4cca634272cc | |
| parent | 106089c18e3c15a801fc339d773f8d227228924d (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.py | 4 | ||||
| -rw-r--r-- | django/forms/forms.py | 7 |
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: |
