1

J'utilise le ModelForms de Django et j'aimerais avoir une validation sur les deux modèles et formulaires. Je forme le rendu à l'aide:Quel est le bon endroit pour mettre la validation ModelForm?

{{ form.as_table }} 

Quelle est la place pour mettre la validation sur une base par champ (comme des formes clean_fieldname) et dans son ensemble (comme des formes clean)? Je souhaite minimiser la quantité de code écrite et ne pas écrire deux fois les mêmes validateurs (dans les deux modèles et dans les formulaires). De plus, j'aimerais que les erreurs de validation par champ soient affichées sur le champ de formulaire approprié, que toutes les erreurs ne soient pas placées au-dessus du formulaire (donc toutes les vérifications dans les modèles ne sont pas propres).

Répondre

3

Vous pouvez utiliser le validators personnalisé introduit dans Django 1.2.

N'oubliez pas que sauf si vous utilisez un ModelForm, vous devez explicitement effectuer la validation du modèle en appelant la méthode full_clean() sur votre instance de modèle.

Questions connexes