我正在尝试在表单clean()中设置字段错误,我现在正在做:
self._errors['address'] = self._errors.get('address', ErrorList())
self._errors['address'].append(_(u'Please specify an address.'))
有没有更好的,如果可能的更短的方法来做到这一点?
答案 0 :(得分:14)
Django 1.7中的新功能是Form.add_error( field, message )
。
https://docs.djangoproject.com/en/dev/ref/forms/api/#django.forms.Form.add_error
答案 1 :(得分:7)
也许这会对你有所帮助。通常首选你覆盖干净,你可以在函数内部执行以下操作
如果您想提出特定于表单的错误,可以这样做。
self._errors["field"] = ErrorList([u"Error"])
这是确保你得到错误类
如果您有非字段错误,则可以简单地引发验证错误,如此
raise forms.ValidationError(_("Error"))
希望这会有所帮助。
答案 2 :(得分:6)
raise ValidationError(message)
。clean_<fieldname>()
方法,clean_address
。在此方法中引发的ValidationError
会将错误消息附加到特定字段。从clean()
筹集的一个人将归功于模型。