在Django Forms中立即引发验证错误

时间:2018-01-10 19:45:54

标签: django django-forms

我正在使用看起来像这样的ModelForm:

listOfEmails.forEach(email => {
  // for array properties
  email['email content'].forEach(content => {
    delete content.name;
    delete content.password;
    // ... and so on
  });
  // for usual properties
  delete email._id;
});

res.send(listOfEmails);

我希望做的是查看class TestForm(forms.ModelForm): class Meta: model = TestModel fields = ('name', 'description', 'date') widgets = { 'execution_date': forms.DateInput(attrs={'type': 'date'}), } 字段并确保它是今天的日期或提交表单之前的未来日期,就像date提出并立即错误一样你输入一个没有@符号的地址,然后继续前进。

通常我会让用户点击提交,然后检查日期并返回表格,如果事情看起来不正确,但我正在使用条带和提交按钮实际上触发条纹检出然后验证表格如果他们有错误,将向客户收取两次费用。关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

可以通过javascript在提交之前进行此验证。最好的方法是通过小部件:https://docs.djangoproject.com/en/2.0/ref/forms/widgets/

EmailField不具备此需求,因为它是电子邮件类型的输入,并且HTML已经填充此验证。

但出于安全原因,仍建议您直接在表单上进行验证。