我想在django模型中创建一个字段,其中null = True且blank = True,但用户必须在字段中输入内容。基本上,我需要在用户单击“提交”后进行页面加载(即,如果必需字段保留为null,我不希望django的内置字段验证器弹出)。我想在models.py文件中使用验证器来完成此操作,该文件检查字段是否已填充。
def validate7(value):
if bool(value) == False:
raise ValidationError(_('Please fill in the field below.'))
else:
pass
class CarProfile (models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
quality = models.CharField(max_length=50, blank=True, null=True, validators=[validate7])
不幸的是,当这些字段留空时,用户可以提交表单。
在验证器中,我也尝试过:
if value == None:
raise ValidationError(_('Please fill in the field below.'))
和
if value == '':
raise ValidationError(_('Please fill in the field below.'))
和
if not value:
raise ValidationError(_('Please fill in the field below.'))
似乎没什么用。我在我的网站上实现了其他验证器,但我似乎无法解决这个问题。任何建议将不胜感激。
谢谢!
答案 0 :(得分:0)
自定义验证程序无法解析保留为null的字段。在表单标记上使用novalidate以防止显示html5弹出窗口。