如何使 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

希望对您有所帮助。