Files

24 lines
806 B
Python
Raw Permalink Normal View History

2020-12-15 23:33:43 +02:00
import re
from django.core import validators
from django.utils.deconstruct import deconstructible
from django.utils.translation import gettext_lazy as _
@deconstructible
class ASCIIUsernameValidator(validators.RegexValidator):
2025-02-10 11:34:00 +02:00
regex = r"^[\w.@]+$"
2021-05-26 18:35:21 +03:00
message = _("Enter a valid username. This value may contain only " "English letters and numbers")
2020-12-15 23:33:43 +02:00
flags = re.ASCII
2025-04-05 12:44:21 +03:00
@deconstructible
class LEssRestrictiveUsernameValidator(validators.RegexValidator):
regex = r"^[^\x00-\x1F\\/:*?\"<>|%#&`=~]+$"
message = _("Enter a valid username. This value may contain UTF-8 characters except those reserved for file systems")
flags = 0 # Allow UTF-8 characters
2020-12-15 23:33:43 +02:00
custom_username_validators = [ASCIIUsernameValidator()]
2025-04-05 12:44:21 +03:00
less_restrictive_username_validators = [LEssRestrictiveUsernameValidator]