summaryrefslogtreecommitdiff
path: root/django/core/validators.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/core/validators.py')
-rw-r--r--django/core/validators.py28
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"