programing tip

이미 검증 된 양식에 오류를 삽입 하시겠습니까?

itbloger 2020. 8. 30. 07:49
반응형

이미 검증 된 양식에 오류를 삽입 하시겠습니까?


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"


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

참고 URL : https://stackoverflow.com/questions/188886/inject-errors-into-already-validated-form

반응형