summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Bistuer <loic.bistuer@sixmedia.com>2013-08-06 02:26:51 +0700
committerLoic Bistuer <loic.bistuer@sixmedia.com>2013-08-06 02:26:51 +0700
commit71093d22b62548fc2667468f1ae9e28f4fef30db (patch)
treeb8648a37428f23b76e9548a750e696575db3a227
parent04489c7dbf8f69de84ca272a0a1710e7b6067e9d (diff)
Fixed #16986 -- Model.clean() can report errors on individual fields.
This commit provides the tests for this issue but the actual problem was solved by the ValidationError refactor in f34cfec and ee77d4b. Refs #20199.
-rw-r--r--tests/model_forms/models.py6
-rw-r--r--tests/model_forms/tests.py8
2 files changed, 13 insertions, 1 deletions
diff --git a/tests/model_forms/models.py b/tests/model_forms/models.py
index a4cf9471de..17aec29055 100644
--- a/tests/model_forms/models.py
+++ b/tests/model_forms/models.py
@@ -12,7 +12,7 @@ import os
import tempfile
from django.core import validators
-from django.core.exceptions import ImproperlyConfigured
+from django.core.exceptions import ImproperlyConfigured, ValidationError
from django.core.files.storage import FileSystemStorage
from django.db import models
from django.utils import six
@@ -296,3 +296,7 @@ class CustomErrorMessage(models.Model):
name2 = models.CharField(max_length=50,
validators=[validators.validate_slug],
error_messages={'invalid': 'Model custom error message.'})
+
+ def clean(self):
+ if self.name1 == 'FORBIDDEN_VALUE':
+ raise ValidationError({'name1': [ValidationError('Model.clean() error messages.')]})
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py
index 21e3143be6..1404725484 100644
--- a/tests/model_forms/tests.py
+++ b/tests/model_forms/tests.py
@@ -1782,6 +1782,14 @@ class OldFormForXTests(TestCase):
'<ul class="errorlist"><li>Model custom error message.</li></ul>'
)
+ def test_model_clean_error_messages(self) :
+ data = {'name1': 'FORBIDDEN_VALUE', 'name2': 'ABC'}
+ errors = CustomErrorMessageForm(data).errors
+ self.assertHTMLEqual(
+ str(errors['name1']),
+ '<ul class="errorlist"><li>Model.clean() error messages.</li></ul>'
+ )
+
class M2mHelpTextTest(TestCase):
"""Tests for ticket #9321."""