回答:
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"
ます。
_errors
その名前にもかかわらず、パブリックフォームAPIの一部です。ドキュメントのリンクについては、insinの回答を参照してください。
Django 1.7以降では、直接form.add_error()
アクセスする代わりにを使用する必要がありますform._errors
。
ドキュメント:https : //docs.djangoproject.com/en/stable/ref/forms/api/#django.forms.Form.add_error
エラーの詳細をフォームの_errors
属性に直接追加できます。
https://docs.djangoproject.com/en/1.5/ref/forms/validation/#written-later https://docs.djangoproject.com/en/1.6/ref/forms/validation/#modifying-field-errors
add_error
機能を:docs.djangoproject.com/en/dev/ref/forms/api/...
特定のフィールドにエラーを追加:
form.add_error('fieldName', 'error description')
**非フィールドにエラーを追加します**
form.add_error(None, 'error description')
#Only pass None instead of field name