我有一个IntegerField,我希望输入只接受11位/数字的值。
我试图在字段上做一个regex验证器,但我的问题是当我尝试使用该字段创建一个模型表单时。只有当值小于或等于10位时,我才会得到一个验证错误,但是如果我尝试一个12位以上的值,我就不会得到任何验证错误。
这是我的模型字段:
number = models.IntegerField(max_length=11, validators=[RegexValidator(r'\d{11,11}','Number must be 11 digits','Invalid number')])如果值大于11位数,如何才能得到验证错误?
发布于 2014-03-24 12:30:08
不确定django语法,但您必须使用锚:
r'^\d{11}$'发布于 2014-03-24 18:15:04
考虑使用min_length kwarg --它的工作方式与您想象的完全一样:
class YourModel(models.Model):
number = models.IntegerField(max_length=11, min_length=11,
validators=[RegexValidator(r'\d{11,11}',
'Number must be 11 digits', 'Invalid number')])https://stackoverflow.com/questions/22609366
复制相似问题