在我的form.Form
验证了用户输入值之后,我将它们传递给一个单独的(外部)进程进行进一步处理。此外部进程可能会在值中发现更多错误。
有没有一种方法可以将这些错误注入到已经验证的表单中,以便可以通过通常的表单错误显示方法来显示它们(或者是否有更好的替代方法)?
一种建议是在表单验证中包括外部处理,这并不理想,因为外部处理不仅仅是验证。
发布于 2008-10-09 19:49:09
可以将Form._errors
视为标准字典。使用ErrorList
类并将错误附加到现有列表中被认为是很好的形式:
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"
。
发布于 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
发布于 2008-10-09 19:48:31
https://stackoverflow.com/questions/188886
复制相似问题