mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #16617 -- Added 'value' to BaseValidator params.
Also allowed overriding the default messages in subclasses of BaseValidator. Thanks sperrygrove for initial patch.
This commit is contained in:
committed by
Tim Graham
parent
5a311d2ccc
commit
5cdb8f8c1e
@@ -14,6 +14,7 @@ from django.core.validators import (
|
||||
validate_ipv46_address, validate_ipv4_address, validate_ipv6_address,
|
||||
validate_slug,
|
||||
)
|
||||
from django.test import SimpleTestCase
|
||||
from django.test.utils import str_prefix
|
||||
|
||||
|
||||
@@ -243,7 +244,7 @@ def create_simple_test_method(validator, expected, value, num):
|
||||
# Dynamically assemble a test class with the contents of TEST_DATA
|
||||
|
||||
|
||||
class TestSimpleValidators(TestCase):
|
||||
class TestSimpleValidators(SimpleTestCase):
|
||||
def test_single_message(self):
|
||||
v = ValidationError('Not Valid')
|
||||
self.assertEqual(str(v), str_prefix("[%(_)s'Not Valid']"))
|
||||
@@ -267,6 +268,11 @@ class TestSimpleValidators(TestCase):
|
||||
else:
|
||||
self.fail("TypeError not raised when flags and pre-compiled regex in RegexValidator")
|
||||
|
||||
def test_max_length_validator_message(self):
|
||||
v = MaxLengthValidator(16, message='"%(value)s" has more than %(limit_value)d characters.')
|
||||
with self.assertRaisesMessage(ValidationError, '"djangoproject.com" has more than 16 characters.'):
|
||||
v('djangoproject.com')
|
||||
|
||||
test_counter = 0
|
||||
for validator, value, expected in TEST_DATA:
|
||||
name, method = create_simple_test_method(validator, expected, value, test_counter)
|
||||
|
||||
Reference in New Issue
Block a user