introduced min_length for a StringField
This commit is contained in:
parent
f3ca9fa4c5
commit
170c56bcb9
@ -22,9 +22,10 @@ class StringField(BaseField):
|
|||||||
"""A unicode string field.
|
"""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.regex = re.compile(regex) if regex else None
|
||||||
self.max_length = max_length
|
self.max_length = max_length
|
||||||
|
self.min_length = min_length
|
||||||
super(StringField, self).__init__(**kwargs)
|
super(StringField, self).__init__(**kwargs)
|
||||||
|
|
||||||
def to_python(self, value):
|
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:
|
if self.max_length is not None and len(value) > self.max_length:
|
||||||
raise ValidationError('String value is too long')
|
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:
|
if self.regex is not None and self.regex.match(value) is None:
|
||||||
message = 'String value did not match validation regex'
|
message = 'String value did not match validation regex'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user