我有一个API端点,它将使用rest_framework的serializer.is_valid()
进行输入验证,如果出错,则返回自定义错误消息和响应。
serializer = FormSerializer(data=data)
if not serializer.is_valid(raise_exception=False):
return Response({"Failure": "Error"}, status=status.HTTP_400_BAD_REQUEST)
不使用raise_exception=True
提供的通用响应,是否有可能填写验证错误?我试图避免使用通用响应,因为如果有多个错误,它将显示所有验证错误。
响应将类似于:
return Response(
{
"Failure": "Error",
"Error_list": {"field1": "This field is required"}
},
status=status.HTTP_400_BAD_REQUEST
)
attrs['your_field']
获取字段的值。然后自行检查特定的验证。如果验证失败,请引发CustomException异常。 - JPGname = serializers.CharField(max_length=10)
作为字段验证,并在对象级别验证中捕获它,这是不可能的吗? - Clueless_Coderis_valid(True)
(即设置了raise_exception=True
)时,它才会引发一个HTTP 400 Bad Request
**。 - JPG