2010-12-05 7 views
0
def clean_title(self): 
     title = self.cleaned_data['title'] 
     if len(title) < 5: 
      raise forms.ValidationError("Please write more in Title.") 
     return title 

Dans mon models.py, c'est généralement comment je définis une erreur de mon titre.Dans Django, comment mettre une erreur de formulaire dans mon fichier views.py?

Cependant, que faire si je veux le faire dans views.py? Je veux définir une erreur comme celle-là, sauf dans la logique de mon code.

Répondre

1

Les erreurs de formulaire sont stockées dans un dictionnaire (ErrorDict from django.forms.util) qui mappe le nom du champ sur la classe ErrorList. Regardez la méthode _clean_fields - vous devez appeler votre formulaire méthode clean(), puis supprimez champ approprié de cleaned_data attribut et faire quelque chose comme ceci:

your_form._errors[ "your_field" ] = ErrorList([ "Your error message" ]) 
Questions connexes