Fixed #269 -- Added MatchesRegularExpression validator. Thanks, Hugo!

git-svn-id: http://code.djangoproject.com/svn/django/trunk@399 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2005-08-04 14:42:01 +00:00
parent cfbf261709
commit 3f2df5e7aa
1 changed files with 13 additions and 0 deletions

View File

@ -333,6 +333,19 @@ class HasAllowableSize:
if self.max_size is not None and len(field_data['content']) > self.max_size:
raise ValidationError, self.max_error_message
class MatchesRegularExpression:
"""
Checks that the field matches the given regular-expression. The regex
should be in string format, not already compiled.
"""
def __init__(self, regexp, error_message="The format for this field is wrong."):
self.regexp = re.compile(regexp)
self.error_message = error_message
def __call__(self, field_data, all_data):
if not self.regexp.match(field_data):
raise validators.ValidationError(self.error_message)
class URLMimeTypeCheck:
"Checks that the provided URL points to a document with a listed mime type"
class CouldNotRetrieve(ValidationError):