From ee77d4b25360a9fc050c32769a334fd69a011a63 Mon Sep 17 00:00:00 2001
From: Loic Bistuer
Date: Wed, 5 Jun 2013 14:55:05 -0400
Subject: Fixed #20199 -- Allow ModelForm fields to override error_messages
from model fields
---
tests/model_forms/tests.py | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
(limited to 'tests/model_forms/tests.py')
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py
index eea1ef9b68..39be824798 100644
--- a/tests/model_forms/tests.py
+++ b/tests/model_forms/tests.py
@@ -22,7 +22,7 @@ from .models import (Article, ArticleStatus, BetterWriter, BigInt, Book,
DerivedPost, ExplicitPK, FlexibleDatePost, ImprovedArticle,
ImprovedArticleWithParentLink, Inventory, Post, Price,
Product, TextFile, Writer, WriterProfile, Colour, ColourfulItem,
- ArticleStatusNote, DateTimePost, test_images)
+ ArticleStatusNote, DateTimePost, CustomErrorMessage, test_images)
if test_images:
from .models import ImageFile, OptionalImageFile
@@ -252,6 +252,12 @@ class StatusNoteCBM2mForm(forms.ModelForm):
fields = '__all__'
widgets = {'status': forms.CheckboxSelectMultiple}
+class CustomErrorMessageForm(forms.ModelForm):
+ name1 = forms.CharField(error_messages={'invalid': 'Form custom error message.'})
+
+ class Meta:
+ model = CustomErrorMessage
+
class ModelFormBaseTest(TestCase):
def test_base_form(self):
@@ -1762,6 +1768,18 @@ class OldFormForXTests(TestCase):
Hold down "Control", or "Command" on a Mac, to select more than one.
"""
% {'blue_pk': colour.pk})
+ def test_custom_error_messages(self) :
+ data = {'name1': '@#$!!**@#$', 'name2': '@#$!!**@#$'}
+ errors = CustomErrorMessageForm(data).errors
+ self.assertHTMLEqual(
+ str(errors['name1']),
+ '- Form custom error message.
'
+ )
+ self.assertHTMLEqual(
+ str(errors['name2']),
+ '- Model custom error message.
'
+ )
+
class M2mHelpTextTest(TestCase):
"""Tests for ticket #9321."""
--
cgit v1.3