2
在Django Documentation中,验证互相依赖的字段的建议方法是使用表格的clean()
方法。它是有道理的,但我正在处理的问题是如何通知视图哪些字段导致问题。Django:验证多个字段
当它只是一个领域谁是失败的,我可以检查它像这样:
for field in form:
if field.errors:
# I know exactly in what field is the problem
但是,如果错误来自clean()
方法,我的一切是错误消息:
if form.errors:
for error in form.errors:
# I know there's a problem, and I got an error message,
# but I don't know what are the fields that cause it.
在典型的注册表格中,您必须写两次邮件和两次密码以避免输入错误。举例来说,如果两个密码字段的值不同,我想要更改这两个密码字段的CSS类,但在视图中,我没有提及导致问题的小部件。我唯一的信息是表单的clean()
方法中的ValidationError引发的错误消息。我如何知道问题出在密码字段还是电子邮件字段?我想解析这个错误信息不是要走的路。
我已经看到了,但问题是我所谈论的错误涉及多个领域,而不仅仅是一个领域。 –
这有什么关系?当您自己设置错误时,_you_决定将显示哪个字段。你在寻找'form.non_field_errors'吗? –
你说得对,谢谢你:-) –