在表单中,如果某些字段包含任何验证错误,我希望将其设置为空白。例如,如果我有一个名为的小数字段price
并且它的值无效blue,我想只是默默地将该字段设置为 none。
这将用于通过查询字符串制作搜索过滤器,因此如果有更好的解决方案,请告诉我。
编辑 2
class SearchForm(forms.Form):
q = forms.CharField()
price = forms.DecimalField(required=False)
我希望表单能够以表单不会变得无效的方式处理无效的字段值。例如,如果我有?q=car&price=100
表格就可以了。如果我有?q=car&price=circle
,我希望表单能注意到错误(值不是小数),但不要使表单无效,只需将该字段设为空白即可。
这clean_*
对于验证非字段类型特定的错误很有用,是吗?(与字段类型相关的错误已被检查并使表单无效)。如果是这样,我应该如何检测这些错误?
我的方法在这里可能完全错误 - 我基本上是在尝试创建搜索过滤器。