diff options
author | Loïc Bistuer <loic.bistuer@gmail.com> | 2016-04-22 07:18:43 +0700 |
---|---|---|
committer | Loïc Bistuer <loic.bistuer@gmail.com> | 2016-04-22 09:38:47 +0700 |
commit | a885bca1dfe5905788ebb9f3a6557822ce3d9e9d (patch) | |
tree | fcbd9544afa472e4e7dbcb3b9b05d84c2d22456c /tests/validation | |
parent | ec6121693f112ae33b653b4364e812722d2eb567 (diff) | |
download | django-a885bca1dfe5905788ebb9f3a6557822ce3d9e9d.tar.gz |
Fixed #26528 -- Allowed any iterable (e.g. tuple) as validators kwarg for form/model fields.
Diffstat (limited to 'tests/validation')
-rw-r--r-- | tests/validation/models.py | 2 | ||||
-rw-r--r-- | tests/validation/test_validators.py | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/tests/validation/models.py b/tests/validation/models.py index 83b998c38f..2e2a144cb6 100644 --- a/tests/validation/models.py +++ b/tests/validation/models.py @@ -31,6 +31,8 @@ class ModelToValidate(models.Model): ) url = models.URLField(blank=True) f_with_custom_validator = models.IntegerField(blank=True, null=True, validators=[validate_answer_to_universe]) + f_with_iterable_of_validators = models.IntegerField(blank=True, null=True, + validators=(validate_answer_to_universe,)) slug = models.SlugField(blank=True) def clean(self): diff --git a/tests/validation/test_validators.py b/tests/validation/test_validators.py index d06605eeca..4a3c99f08b 100644 --- a/tests/validation/test_validators.py +++ b/tests/validation/test_validators.py @@ -6,14 +6,26 @@ from .models import ModelToValidate class TestModelsWithValidators(ValidationTestCase): def test_custom_validator_passes_for_correct_value(self): - mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=42) + mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=42, + f_with_iterable_of_validators=42) self.assertIsNone(mtv.full_clean()) def test_custom_validator_raises_error_for_incorrect_value(self): - mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=12) + mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=12, + f_with_iterable_of_validators=42) self.assertFailsValidation(mtv.full_clean, ['f_with_custom_validator']) self.assertFieldFailsValidationWithMessage( mtv.full_clean, 'f_with_custom_validator', ['This is not the answer to life, universe and everything!'] ) + + def test_field_validators_can_be_any_iterable(self): + mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=42, + f_with_iterable_of_validators=12) + self.assertFailsValidation(mtv.full_clean, ['f_with_iterable_of_validators']) + self.assertFieldFailsValidationWithMessage( + mtv.full_clean, + 'f_with_iterable_of_validators', + ['This is not the answer to life, universe and everything!'] + ) |