From 170c56bcb93f519bb4ca302d3754e953d77680b1 Mon Sep 17 00:00:00 2001 From: Florian Schlachter Date: Fri, 16 Apr 2010 18:13:11 +0200 Subject: [PATCH] introduced min_length for a StringField --- mongoengine/fields.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mongoengine/fields.py b/mongoengine/fields.py index 227af0a7..e4d95d53 100644 --- a/mongoengine/fields.py +++ b/mongoengine/fields.py @@ -22,9 +22,10 @@ class StringField(BaseField): """A unicode string field. """ - def __init__(self, regex=None, max_length=None, **kwargs): + def __init__(self, regex=None, max_length=None, min_length=None, **kwargs): self.regex = re.compile(regex) if regex else None self.max_length = max_length + self.min_length = min_length super(StringField, self).__init__(**kwargs) def to_python(self, value): @@ -35,6 +36,9 @@ class StringField(BaseField): if self.max_length is not None and len(value) > self.max_length: raise ValidationError('String value is too long') + + if self.min_length is not None and len(value) < self.min_length: + raise ValidationError('String value is too short') if self.regex is not None and self.regex.match(value) is None: message = 'String value did not match validation regex'