Nur alte Antworten und Beispiele gefunden, die ich nicht verstanden habe, um Fehler in der Ansicht anzuzeigen.Zeigt die Validierungsfehler für jedes Feld an, wenn ValidationError ausgelöst wird.
Ich habe eine clean_message
Methode in meinem forms.py
erstellt, die, wenn überprüft die self.message
etwas haben, und wirft ein ValidationError
, falls nicht.
"""
Comment
"""
class CommentForm(forms.Form):
"""
Comment field
"""
comment = forms.CharField(
widget = forms.Textarea(
attrs = {
'class': 'form-control',
'rows': 2
}
)
)
def clean_comment(self):
if self.cleaned_data['comment'] is None:
raise form.ValidationError({'comment': ['You must enter your comment'])
Und das ist die Ansichtsdatei. Was brauche ich, um die Fehler anzuzeigen, wie oben gezeigt?
<form action="comment" method="POST">
{% csrf_token %}
<div class="form-group">
{{ form.comment.errors }}
{{ form.comment }}
</div>
<div class="form-group">
<input type="submit" value="Say it" class="btn btn-success">
</div>
</form>
Ich habe versucht, etc zu verwenden {{form.errors}}, iterieren es, zu verwenden {{form.non_field_errors}}, aber keiner arbeitete. Ich denke irgendwie ich lade das Formular neu, und so werden die Nachrichten nicht angezeigt.
Es gibt '{{form.errors}}'. Ich nehme an, Django-Doktoren erklären das ziemlich deutlich. –