【发布时间】:2016-04-01 10:10:26
【问题描述】:
我使用 django 的 form.add_error 选项将自定义错误添加到
表格检查。
当我在 ModelForm 中使用 add_error 时,错误显示在
模板,但是当我在视图中使用它时它不会..
可能是什么问题?
modelform add_error(在 clean 方法中):
self.add_error('field', "fdgdsfgfds.")
视图添加错误:
def form_valid(self, form):
form.add_error('field', "sfsfdsfsd.")
return self.form_invalid(form)
在模板中:
{{ form.errors }}
{{ field.errors }}
{{ form.non_field_errors }}
{{ form.as_table }}
【问题讨论】:
-
不能在form有效的方法中使用
-
你知道我可以在 form_valid 中使用什么来自定义检查吗?
-
在文档中说:“此方法允许从 Form.clean() 方法内或完全从表单外部向特定字段添加错误;例如从视图中。” - 所以我可以在视图中使用它.. 但如果不是在 form_valid 中,比在哪里?
-
表单有效方法在完成所有验证步骤后被调用,因此添加错误没有意义在干净的方法中这样做有什么问题? (我会写一个答案,但我在手机上)
-
实际上不知道为什么我没有从干净的方法中做到这一点。但如果你有时间写一个答案,我将不胜感激