如何使 Web API return 验证模型的所有错误?
How to make Web API return all errors for the validated model?
ModelState returns 验证发生时一次只有 1 个错误。如何强制 Web API 立即 return 所有错误。
services.AddControllers()
.ConfigureApiBehaviorOptions(setupAction =>
{
setupAction.InvalidModelStateResponseFactory = context =>
{
// context.ModelState here always contains only 1 error, even if I have more invalid fields in
}
};
考虑到你的情况,可以这样说,
在 InvalidModelStateResponseFactory
中有一个名为 ModelStateDictionary()
的构造函数,你会得到 ErrorCount
,它可以得到你的错误数。
但是,如果您希望将所有错误详细信息放在一起,则无法做到这一点。它将始终获取第一个并终止执行并进入您的自定义 InvalidModelStateResponseFactory
中间件。
Note: So when any error encounters it terminates and return rather executing further as a results we always get first one. You
could get our official document here
希望对您有所帮助。
ModelState returns 验证发生时一次只有 1 个错误。如何强制 Web API 立即 return 所有错误。
services.AddControllers()
.ConfigureApiBehaviorOptions(setupAction =>
{
setupAction.InvalidModelStateResponseFactory = context =>
{
// context.ModelState here always contains only 1 error, even if I have more invalid fields in
}
};
考虑到你的情况,可以这样说,
在 InvalidModelStateResponseFactory
中有一个名为 ModelStateDictionary()
的构造函数,你会得到 ErrorCount
,它可以得到你的错误数。
但是,如果您希望将所有错误详细信息放在一起,则无法做到这一点。它将始终获取第一个并终止执行并进入您的自定义 InvalidModelStateResponseFactory
中间件。
Note: So when any error encounters it terminates and return rather executing further as a results we always get first one. You could get our official document here
希望对您有所帮助。