Django 我可以构建一个序列化程序来验证用户名和电子邮件是否存在于is_valid调用中吗?
伙计们! 我有这个用于用户模型的序列化器类Django 我可以构建一个序列化程序来验证用户名和电子邮件是否存在于is_valid调用中吗?,django,django-rest-framework,django-serializer,Django,Django Rest Framework,Django Serializer,伙计们! 我有这个用于用户模型的序列化器类 class UserSerializer(serializers.ModelSerializer): username = serializers.RegexField("^(?=.{6,20}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$") full_name = serializers.RegexField("^([a-zA-Z]{2,}\s[a-
class UserSerializer(serializers.ModelSerializer):
username = serializers.RegexField("^(?=.{6,20}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$")
full_name = serializers.RegexField("^([a-zA-Z]{2,}\s[a-zA-Z]{1,}'?-?[a-zA-Z]{2,}\s?([a-zA-Z]{1,})?)")
email = serializers.EmailField()
phone = serializers.RegexField("^(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$")
class Meta:
model = User
fields = ['username', 'full_name', 'email', 'password', 'phone']
class UserSerializer(serializers.ModelSerializer):
username=serializers.RegexField(“^(?=.{6,20}$)(?![.]])(?!.[.]{2})[a-zA-Z0-9.+(?您可以使用验证{fieldname}
验证字段:
class UserSerializer(serializers.ModelSerializer):
username = serializers.RegexField("^(?=.{6,20}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$")
full_name = serializers.RegexField("^([a-zA-Z]{2,}\s[a-zA-Z]{1,}'?-?[a-zA-Z]{2,}\s?([a-zA-Z]{1,})?)")
email = serializers.EmailField()
phone = serializers.RegexField("^(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$")
class Meta:
model = User
fields = ['username', 'full_name', 'email', 'password', 'phone']
def validate_username(self, value):
if User.objects.filter(username=value).exists():
raise serializers.ValidationError("A user with this username already exists!")
return value
def validate_email(self, value):
if User.objects.filter(email=value).exists():
raise serializers.ValidationError("A user with this email already exists!")
return value
class UserSerializer(serializers.ModelSerializer):
username=serializers.RegexField(“^(?=.{6,20}$)(?![\.])(?!.[\.]{2})[a-zA-Z0-9.\]+(?您需要编写字段级验证程序方法