You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cqtu/contest/validators.py

19 lines
549 B

from django.core import validators
from django.utils import six
from django.utils.deconstruct import deconstructible
from django.utils.translation import ugettext_lazy as _
import re
@deconstructible
class CallUsernameValidator(validators.RegexValidator):
#regex = r'^[\w.@+-]+$'
regex = r'^(?:[A-Z]+/)?[A-Z]{1,2}[0-9][A-Z]{1,4}(?:-[0-9])?(?:/p)?$'
message = _(
'Enter a valid Callsign as Username, ALL UPPERCASE, if needed with /A /B,'
'e.g. DL7BST, DN1BER/A, DL/OE1FOO'
)
flags = re.ASCII if six.PY3 else 0