首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否将错误注入已验证的表单?

是否将错误注入已验证的表单?
EN

Stack Overflow用户
提问于 2008-10-09 19:45:23
回答 3查看 41K关注 0票数 109

在我的form.Form验证了用户输入值之后,我将它们传递给一个单独的(外部)进程进行进一步处理。此外部进程可能会在值中发现更多错误。

有没有一种方法可以将这些错误注入到已经验证的表单中,以便可以通过通常的表单错误显示方法来显示它们(或者是否有更好的替代方法)?

一种建议是在表单验证中包括外部处理,这并不理想,因为外部处理不仅仅是验证。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-09 19:49:09

可以将Form._errors视为标准字典。使用ErrorList类并将错误附加到现有列表中被认为是很好的形式:

代码语言:javascript
复制
from django.forms.utils import ErrorList
errors = form._errors.setdefault("myfield", ErrorList())
errors.append(u"My error here")

如果要添加非字段错误,请使用django.forms.forms.NON_FIELD_ERRORS (默认为"__all__")而不是"myfield"

票数 96
EN

Stack Overflow用户

发布于 2015-01-21 09:45:47

对于Django 1.7+,您应该使用form.add_error(),而不是直接访问form._errors

文档:https://docs.djangoproject.com/en/stable/ref/forms/api/#django.forms.Form.add_error

票数 126
EN

Stack Overflow用户

发布于 2008-10-09 19:48:31

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/188886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档