首页 > 其他 > 详细

Validator 字段验证

时间:2019-04-09 10:13:55      阅读:107      评论:0      收藏:0      [点我收藏+]

一、单个字段验证

class UserRegSerializer(serializers.ModelSerializer):
    """
    用户注册
    """
    # 验证用户名是否存在
    username = serializers.CharField(label=用户名, help_text=用户名, required=True, allow_blank=True,
                                     validators=[UniqueValidator(User.objects.all(), message=用户已存在)])

    class Meta:
        model = User
        fields = [username, phone, password]

二、自定义验证

def phone_validate(value):
    """
    验证手机号
    :param value: 手机号
    :return: 手机号/错误信息
    """
    if not re.match(REGEX_PHONE, value):
        raise serializers.ValidationError(手机号不合法)
    else:
        return value


def password_validate(value):
    """
    验证密码
    :param value: 密码
    :return: 密码/错误信息
    """
    if len(value) < 6:
        raise serializers.ValidationError(密码不能少于6位数)
    else:
        return value


class UserRegSerializer(serializers.ModelSerializer):
    """
    用户注册
    """

    # 验证用户名是否存在
    username = serializers.CharField(label=用户名, help_text=用户名, required=True, allow_blank=True,
                                     validators=[UniqueValidator(User.objects.all(), message=用户已存在)])
    # 验证手机号是否合法
    phone = serializers.CharField(label=手机号, help_text=手机号, required=True, allow_blank=True,
                                  validators=[phone_validate,])
    # 验证密码是否大于6位
    password = serializers.CharField(label=密码, help_text=密码, required=True, allow_blank=True,
                                  validators=[password_validate, ])

    class Meta:
        model = User
        fields = [username, phone, password]

 

Validator 字段验证

原文:https://www.cnblogs.com/mxsf/p/10674980.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!