def clean_title(self):
title = self.cleaned_data['title']
if len(title) < 5:
raise forms.ValidationError("Please write more in Title.")
return title
在我的models.py中,这通常是我在标题中设置错误的方式。
但是,如果我想在views.py中执行该操作,该怎么办?我希望设置一个类似的错误,除了我的代码逻辑。
答案 0 :(得分:1)
表单错误存储在将字段名称映射到ErrorList类的字典(来自django.forms.util
的ErrorDict)中。查看_clean_fields方法 - 您需要调用表单clean()
方法,然后从cleaned_data
属性中删除相应的字段,并执行以下操作:
your_form._errors[ "your_field" ] = ErrorList( [ "Your error message" ] )