From 32bf35da09660604e8c65c1ac75f28b1918cf91c Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Mon, 13 Dec 2010 13:56:55 +0000 Subject: [1.2.X] Fixed #14144 -- Made sure custom validators are called in ModelMultipleChoiceFields. Thanks, matiasb. Backport from trunk (r14886). git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14906 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/model_forms_regress/tests.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/regressiontests/model_forms_regress/tests.py b/tests/regressiontests/model_forms_regress/tests.py index e30b983aa8..54f04d956e 100644 --- a/tests/regressiontests/model_forms_regress/tests.py +++ b/tests/regressiontests/model_forms_regress/tests.py @@ -31,6 +31,22 @@ class ModelMultipleChoiceFieldTests(TestCase): selected = f.clean([1, 3, 5, 7, 9]) self.assertEquals(len(db.connection.queries), 1) + def test_model_multiple_choice_run_validators(self): + """ + Test that ModelMultipleChoiceField run given validators (#14144). + """ + for i in range(30): + Person.objects.create(name="Person %s" % i) + + self._validator_run = False + def my_validator(value): + self._validator_run = True + + f = forms.ModelMultipleChoiceField(queryset=Person.objects.all(), + validators=[my_validator]) + f.clean([1,2]) + self.assertTrue(self._validator_run) + class TripleForm(forms.ModelForm): class Meta: model = Triple -- cgit v1.3