在my form.Form
验证用户输入值后,我将其传递给一个单独的(外部)进程进行进一步处理.这个外部过程可能会在值中发现更多错误.
有没有一种方法可以将这些错误注入到已经验证的表单中,以便可以通过通常的表单错误显示方法显示它们(或者是否有更好的替代方法)?
一种建议是将外部处理包括在表单验证中,这并不理想,因为外部流程所做的远不止是验证.
在my form.Form
验证用户输入值后,我将其传递给一个单独的(外部)进程进行进一步处理.这个外部过程可能会在值中发现更多错误.
有没有一种方法可以将这些错误注入到已经验证的表单中,以便可以通过通常的表单错误显示方法显示它们(或者是否有更好的替代方法)?
一种建议是将外部处理包括在表单验证中,这并不理想,因为外部流程所做的远不止是验证.
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"
.