Après avoir form.Form
validé les valeurs d'entrée de l'utilisateur, je les transmets à un processus (externe) distinct pour un traitement ultérieur. Ce processus externe peut potentiellement trouver d'autres erreurs dans les valeurs.
Existe-t-il un moyen d'injecter ces erreurs dans le formulaire déjà validé afin qu'elles puissent être affichées via les méthodes habituelles d'affichage des erreurs de formulaire (ou existe-t-il de meilleures approches alternatives)?
L'une des suggestions était d'inclure le traitement externe dans la validation du formulaire, ce qui n'est pas idéal car le processus externe fait beaucoup plus que simplement valider.
la source
_errors
fait partie de l'API de forme publique, malgré son nom; voir la réponse d'insin pour un lien vers les documents.Pour Django 1.7+, vous devez utiliser
form.add_error()
au lieu d'accéderform._errors
directement.Documentation: https://docs.djangoproject.com/en/stable/ref/forms/api/#django.forms.Form.add_error
la source
Vous pouvez ajouter des détails d'erreur supplémentaires à l'
_errors
attribut du formulaire directement:https://docs.djangoproject.com/en/1.5/ref/forms/validation/#described-later https://docs.djangoproject.com/en/1.6/ref/forms/validation/#modifying-field-errors
la source
add_error
fonction: docs.djangoproject.com/en/dev/ref/forms/apiAjouter une erreur à un champ spécifique:
** Ajouter une erreur aux non-champs **
la source