python - IntegerField 只接受 11 位数字(不小于 11,不大于 11)

标签 python regex django django-models django-validation

我有一个 IntegerField,我希望输入仅接受 11 位数字/数字的值。

我曾尝试在该字段上制作一个正则表达式验证器,但我的问题是当我尝试使用该字段制作模型表单时。如果该值是 10 位或更少,我只会收到验证错误,但如果我尝试使用 12 位及以上的值,我不会收到任何验证错误。

这是我的模型字段:

number =  models.IntegerField(max_length=11, validators=[RegexValidator(r'\d{11,11}','Number must be 11 digits','Invalid number')])

如果值超过 11 位,我如何才能得到验证错误?

最佳答案

不确定 django 语法,但你必须使用 anchor :

r'^\d{11}$'

关于python - IntegerField 只接受 11 位数字(不小于 11,不大于 11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609366/

相关文章:

python - 在 Django 中构建动态表单

python - Fabric 库的动态主机和并行任务

python - 找到pandas python中的特殊位置

python - Django Rest Framework 通过无法获取直通模型进行自引用多对多

c# - 需要一些帮助来破译正则表达式

正则表达式仅允许字母和某些字符

django - 数据库错误 : value too long for type character varying(100)

python - MySQL - 用于数据分析和统计的网络界面

python - 根据字符串中的单词从 DataFrame 中删除行

javascript - jQuery 正则表达式替换返回替换单词