django model - 이미 검증 된 양식에 오류를 주입 하시겠습니까?




form example (4)

Form._errors 는 표준 사전처럼 취급 할 수 있습니다. ErrorList 클래스를 사용하고 기존 목록에 오류를 추가하는 것이 좋습니다.

from django.forms.util import ErrorList
errors = form._errors.setdefault("myfield", ErrorList())
errors.append(u"My error here")

그리고 비 필드 오류를 추가하려면 "myfield" 대신 django.forms.forms.NON_FIELD_ERRORS (기본값은 "__all__" )를 사용 "myfield" .

form.Form 후 추가 처리를 위해 별도의 (외부) 프로세스에 사용자 입력 값을 전달합니다 유효성을 검사합니다. 이 외부 프로세스는 잠재적으로 값에서 더 이상의 오류를 찾을 수 있습니다.

이미 검증 된 양식에 이러한 오류를 삽입하여 일반적인 양식 오류 표시 방법을 통해 표시 할 수 있습니까? (또는 더 나은 대체 방법이 있습니까?)

한 가지 제안은 외부 프로세스를 폼 유효성 검사에 포함시키는 것이 었습니다. 외부 프로세스가 단순히 유효성 검사를하는 것보다 훨씬 많은 작업을 수행하기 때문에 이상적인 것은 아닙니다.




꽤 우아한 add_error() 메소드를 사용할 수도 있습니다. 장고> 1.7에 대한 작품.

fieldNone 설정하면 양식이 오류를 "non_field"로 처리합니다. 그래서:

form.add_error(None, "I'm non-field error")

매력처럼 작동합니다.





django django-forms