仅查找旧的答案和示例,我不了解在视图中显示错误。
我在clean_message
中创建了一个forms.py
方法,用于检查self.message
是否有内容,如果没有,则会引发ValidationError
。
"""
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'])
这是视图文件。我需要显示错误,如上所示构建错误?
<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>
我尝试使用{{form.errors}},迭代它,使用{{form.non_field_errors}}等,但都没有效果。我猜不知道我正在重新加载表单,因此不会显示消息。
答案 0 :(得分:0)
要在表单级别显示错误,您只需使用:def clean_message(self):
if not self.message:
raise ValidationError({'message': ['You must enter your comment'])
即可。但似乎你想要字段级错误消息。为此,您需要修改clean方法:
field.errors
这样,错误将在适当的parseString
上设置。