在 Django 文档https://docs.djangoproject.com/en/dev/ref/forms/validation/#raising-validationerror中说,在引发 ValidationError 异常时提供错误代码是一种好习惯。
# Good
ValidationError(_('Invalid value'), code='invalid')
# Bad
ValidationError(_('Invalid value'))
我的应用程序中有 API,我正在使用表单来验证输入数据。
如果表单无效,我想获得这些错误代码(不是错误消息)。
所以我查看了BaseForm的_clean_fields方法的源代码:
https ://github.com/django/django/blob/master/django/forms/forms.py#L278
except ValidationError as e:
self._errors[name] = self.error_class(e.messages)
if name in self.cleaned_data:
del self.cleaned_data[name]
据我了解,此参数 ( self.code
) 未在任何地方传递,并且在表单验证后无法获取。
有人可以解释使用此错误代码的目的吗?