123456789101112131415161718192021222324252627282930 |
- import re
- from django.core.exceptions import ValidationError
- from django.core.validators import RegexValidator
- def validate_lower(value):
- if value != value.lower():
- raise ValidationError('Invalid value (not lowercase): %(value)s',
- code='invalid',
- params={'value': value})
- def validate_upper(value):
- if value != value.upper():
- raise ValidationError('Invalid value (not uppercase): %(value)s',
- code='invalid',
- params={'value': value})
- validate_domain_name = [
- validate_lower,
- RegexValidator(
- regex=r'^(([a-z0-9_-]{1,63})\.)*[a-z0-9-]{1,63}$',
- message='Domain names must be labels separated by dots. Labels may consist of up to 63 letters, digits, '
- 'hyphens, and underscores. The last label may not contain an underscore.',
- code='invalid_domain_name',
- flags=re.IGNORECASE
- )
- ]
|