当前位置: 首页 > 知识库问答 >
问题:

如何在Django模型中添加手机号码验证程序?

袁奇逸
2023-03-14

def validate_mobile_number(value):如果不是str(value).isdigit():引发ValidationError(“请输入有效的手机号码”)类ModelA(AbstractUser):
mobile=models.CharField(u(“mobile”),unique=True,max_length=10,验证器[validate_mobile_number,validators.MinLengthValidator(limit_value=10)])

共有2个答案

连翰
2023-03-14
def validate_mobile_number(value):
   if not str(value).isdigit():
     raise ValidationError("Please Enter Valid Mobile Number")
        
class ModelA(AbstractUser):     
   mobile = models.CharField(_("Mobile"), unique=True, max_length=10, 
                   validators[validate_mobile_number, 
                   validators.MinLengthValidator(limit_value=10)])
唐健
2023-03-14

如果您将其与模板和ModalForm一起使用,则可以添加“clean_mobile”功能来验证手机。

class ModalAForm(form.ModalForm):
    class Meta:
        modal = ModalA
        fields = '__all__'

    def clean_mobile(self):
        mobile = self.cleaned_data['mobile']
        if not mobile.isdigit():
            raise forms.ValidationError('Please Enter Valid Mobile Number')
        return mobile

或者,如果将其用于api调用,可以在modalserializer类中添加相同的函数名为“validate_mobile”,如

def validate_mobile(self, value):
    if not value.isdigit():
        raise serializers.ValidationError('Please Enter Valid Mobile Number')
    return value
 类似资料:
  • 问题内容: 我有一个带有开始和结束日期范围的Django模型。我想强制执行验证,以便没有两个记录具有重叠的日期范围。最简单的实现方式是什么,这样我就不必重复编写逻辑了? 例如,我不想在Form 和 a 以及 admin表单中重新实现此逻辑, 并且 模型被重写。 据我所知,Django在全球范围内强制执行这些类型的条件并不容易。 Googling并不是很有帮助,因为“模型验证”通常是指验证特定的模型

  • 我目前使用phonenumbers包作为我的Django的UserCreationForm的电话号码字段的验证方法。在我当前的代码中,我使用get方法从其字段中检索电话号码,然后进行验证。如果输入的数字不存在,将弹出一个表单错误,并声明该数字不是一个国家的格式(在本例中,我使用的是新加坡)。请告诉我应该对我当前的代码做什么修改。 我希望输出验证phone字段中输入的电话号码,没有国家代码,只有8位

  • 接口说明 用来验证输入的手机号是否已注册 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/user/1.0.0/validatePhone 是否需要登录 否 请求字段说明 参数 类型 请求类型 是否必须 说明 phone string form 是 手机号 响应字段说明 参数 类型 说明 phoneVali String

  • 本文向大家介绍手机号码,密码正则验证,包括了手机号码,密码正则验证的使用技巧和注意事项,需要的朋友参考一下  /**      * 手机号码      * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188      * 联通:130,131,132,152,155,156,185,186      * 电信:133,13

  • 本文向大家介绍手机号码验证方法(正则验证),包括了手机号码验证方法(正则验证)的使用技巧和注意事项,需要的朋友参考一下 只允许输入数字 下面看下最新手机号码验证正则表达式 由于手机号段的不断更新,以前的正则表达式已经无法满足需求。重新编写这条表达式,号段资料来源依据:http://www.jihaoba.com/tools/haoduan/ 现有手机号段: 移动:139   138   137  

  • X2.3.0新增(暂时无法使用) sp_check_mobile_verify_code($mobile='',$verifycode='') 功能: 手机验证码检查,验证完后销毁验证码增加安全性 参数: $mobile: 手机号 $verifycode:验证码 返回: 类型boolean true:手机验证码正确,false:手机验证码错误 使用: $is_right_mobile_code