RS7*_*RS7 13 django validation django-forms django-validation
我正在尝试在表单clean()中设置字段错误,我现在正在做:
self._errors['address'] = self._errors.get('address', ErrorList())
self._errors['address'].append(_(u'Please specify an address.'))
Run Code Online (Sandbox Code Playgroud)
这样做有更好的,如果可能的更短的方法吗?
Man*_*Dee 14
Django 1.7中的新功能是Form.add_error( field, message ).
https://docs.djangoproject.com/en/dev/ref/forms/api/#django.forms.Form.add_error
也许这会对你有所帮助.通常首选你覆盖清洁和功能内部,您可以执行以下操作
如果您想提出表单特定的错误,您可以这样做.
self._errors["field"] = ErrorList([u"Error"])
Run Code Online (Sandbox Code Playgroud)
这是确保你得到错误类
如果您有非字段错误,则可以简单地引发验证错误
raise forms.ValidationError(_("Error"))
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
raise ValidationError(message).clean_<fieldname>(),将特定于字段的验证移动到方法clean_address. ValidationError在这种方法中引发会将错误消息附加到特定字段.从中提出的一个clean()将归功于模型.