表单集无效但 'Save' 保存父模型并关闭页面

Formset invalid but 'Save' saves parent model and closes page

我在父模型 invoice 上有一个表单集 payment。如果用户输入付款但忘记了付款日期(这是必需的),页面仍会保存发票并然后关闭

我从form_valid可以看出formset.is_valid()是假的。如果我在控制台中打印它,我可以看到引发的错误:[{}, {}, {'paymentdate': ['This field is required.']}, {}]。我什至可以在关闭前看到验证显示在页面上。

如何在出现验证错误时防止页面关闭?

However, form fields of formsets won’t include the required attribute as that validation may be incorrect when adding and deleting forms. https://docs.djangoproject.com/en/3.0/topics/forms/formsets/

表单集的功能非常有限且资源效率低下,因此最好不要使用它们。您必须覆盖您的视图才能自定义工作流程。