【发布时间】:2023-03-19 15:44:01
【问题描述】:
我正在使用 Marshmallow 来验证一个简单的 put 请求的传入字段。 现在我正在测试前端的错误处理,以确保为前端发送正确的错误消息。
我通常发送类型的数据
{
password: string,
email: string
}
现在,Marshmallow 会检查密码是否足够长,以及电子邮件是否为电子邮件格式。 我在期望语句中收集所有错误并将其发送到前端,如下所示:
except ValidationError as err:
return make_response(
{"errors": err.messages}, status.HTTP_400_BAD_REQUEST
)
邮递员给我例如这个回复:
{
"errors": {
"email": [
"Missing data for required field."
],
"password": [
"Missing data for required field."
],
}
}
因此,所有错误消息都在字段错误中收集并发送回前端。
当错误被发送回前端时,我发现了我的错误,我得到的只是这个对象:
Object {
"data": null,
"error": [Error: Request failed with status code 400],
}
如何正确发送或接收
errors: err.messages
make_response 错误响应中的前端字段?
【问题讨论】:
-
好的,我在发现 axios 的问题后找到了答案,并且已经在他们的 github 中记录了:github.com/axios/axios/issues/960 我按照这个线程中的建议更改了我的代码,它起作用了。
-
那我猜你可以回答你自己的问题并接受你自己的答案。
标签: react-native flask axios marshmallow flask-marshmallow