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'