fix: 用户注册用户名密码校验

This commit is contained in:
shaohuzhang1 2024-02-29 15:18:19 +08:00
parent 22c319a2bf
commit af88de4af2

View File

@ -107,11 +107,19 @@ class RegisterSerializer(ApiMixin, serializers.Serializer):
validators.MaxLengthValidator(limit_value=20,
message=ExceptionCodeConstants.USERNAME_ERROR.value.message),
validators.MinLengthValidator(limit_value=6,
message=ExceptionCodeConstants.USERNAME_ERROR.value.message)
message=ExceptionCodeConstants.USERNAME_ERROR.value.message),
validators.RegexValidator(regex=re.compile("^[a-zA-Z][a-zA-Z1-9_]{5,20}$"),
message="用户名字符数为 6-20 个字符,必须以字母开头,可使用字母、数字、下划线等")
])
password = serializers.CharField(required=True)
password = serializers.CharField(required=True, validators=[validators.RegexValidator(regex=re.compile(
"^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z_!@#$%^&*`~()-+=]+$)"
"(?![0-9_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9_!@#$%^&*`~()-+=]{6,20}$")
, message="密码长度6-20个字符必须字母、数字、特殊字符组合")])
re_password = serializers.CharField(required=True)
re_password = serializers.CharField(required=True, validators=[validators.RegexValidator(regex=re.compile(
"^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z_!@#$%^&*`~()-+=]+$)"
"(?![0-9_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9_!@#$%^&*`~()-+=]{6,20}$")
, message="密码长度6-20个字符必须字母、数字、特殊字符组合")])
code = serializers.CharField(required=True)