widgets update tipos personalizados formularios form fields ejemplos avanzados django django-forms

update - tipos de formularios en django



¿Inyectar errores en un formulario ya validado? (3)

Después de mi form.Form valida los valores de entrada del usuario. Los paso a un proceso separado (externo) para su posterior procesamiento. Este proceso externo puede potencialmente encontrar más errores en los valores.

¿Hay alguna forma de insertar estos errores en el formulario ya validado para que puedan mostrarse a través de los métodos usuales de visualización de errores de formulario (o hay mejores enfoques alternativos)?

Una sugerencia fue incluir el procesamiento externo en la validación del formulario, que no es ideal porque el proceso externo hace mucho más que simplemente validar.




Form._errors se puede tratar como un diccionario estándar. Se considera buena forma de utilizar la clase ErrorList y de agregar errores a la lista existente:

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

Y si desea agregar errores que no sean de campo, use django.forms.forms.NON_FIELD_ERRORS (por defecto es "__all__" ) en lugar de "myfield" .