在表单验证时是否有一种漂亮而干净的方式来使用自定义错误代码?例如:
{
"name": {
"code": 121,
"message": "This field can't be blank."
}
}
而不是:
{
"name": ["This field can't be blank."]
}
谢谢。
答案 0 :(得分:1)
您可以在序列化程序的__init__
方法中覆盖错误消息:
self.fields['field_name'].error_messages['error_message_key'] = your_custom_error
您可以在the documentation中找到与每个字段相关的所有error_messages键。例如,CharFields错误消息键是必需的,max_length,min_length 。
如果您正在使用DRF中的custom field:
name = serializers.CharField(
...,
error_messages={error_message_key: your_custom_error}
)
如果您想提出更具体的错误,建议您查看官方文档中的Raising ValidationError和DRF文档中的ValidationError。