如何在Django中部分验证表单,只有非空白字段,即使它们是必需的?

时间:2013-07-07 20:10:39

标签: django django-forms

我们正在使用一些复杂的表单工作流,我们希望在最终提交(和验证)之前始终进行一种Ajax预验证验证。因此,我们向服务器发出Ajax请求并验证表单,但不保存结果。如果有错误,我们会将其显示给用户。

但问题在于所有字段都被标记为缺失值,当它们为空时(因为用户尚未最终确定表单的内容)。所以我的问题是,我们如何才能对那些非空的字段进行验证?对于最终提交,我们将验证所有字段并捕获缺少的字段。但是对于这种部分验证,我们希望只填充经过验证的字段。

1 个答案:

答案 0 :(得分:0)

一种方法是在验证之前迭代表单字段设置required=False。在你的ajax视图中,这样的东西应该可以工作:

for field in myform.fields.itervalues():
    field.required = False
json_result = json.dumps({'form_valid': myform.is_valid()})