diff options
Diffstat (limited to 'django/core/validators.py')
| -rw-r--r-- | django/core/validators.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/django/core/validators.py b/django/core/validators.py index 6758a387b0..3fc750481e 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -40,6 +40,7 @@ def validate_ipv4_address(value): code="invalid" ) + class MaxValueValidator(object): def __init__(self, max_value): self.max_value = max_value @@ -51,6 +52,7 @@ class MaxValueValidator(object): code='max_value', params=(self.max_value,) ) + class MinValueValidator(object): def __init__(self, min_value): self.min_value = min_value @@ -63,6 +65,32 @@ class MinValueValidator(object): params=(self.min_value,) ) +class MinLengthValidator(object): + def __init__(self, min_length): + self.min_length = min_length + + def __call__(self, value): + value_len = len(value) + if value_len < self.min_length: + raise ValidationError( + _(u'Ensure this value has at least %(min)d characters (it has %(length)d).'), + code='min_length', + params={ 'min': self.min_length, 'length': value_len} + ) + +class MaxLengthValidator(object): + def __init__(self, max_length): + self.max_length = max_length + + def __call__(self, value): + value_len = len(value) + if value_len > self.max_length: + raise ValidationError( + _(u'Ensure this value has at most %(max)d characters (it has %(length)d).'), + code='max_length', + params={ 'max': self.max_length, 'length': value_len} + ) + class ComplexValidator(object): def get_value(self, name, all_values, obj): assert all_values or obj, "Either all_values or obj must be supplied" |
