如何将错误代码添加到 MVC 中的验证属性?

Tow*_*own 5 validation asp.net-mvc data-annotations asp.net-core-mvc

如果验证失败,我希望能够指定从我的 API 返回的错误代码以及错误消息。目的是在属性上指定验证属性,例如:

[Range(1, int.MaxValue, ErrorMessage = "Page must be 1 or greater", ErrorCode = 1234)]

并且,如果有人请求第 0 页,则返回400 Bad Request和 JSON 错误对象,body如下所示:

{ "errorCode": 1234, "errorMessage": "Page : Page must be 1 or greater" }

我已经有一个自定义ModelValidationFilter,它从 返回一组错误消息ModelStateDictionary,所以这一切都有效,但我看不到在不覆盖所有 MVC 模型验证类的情况下获取包含在其中的错误代码的直接方法。

这似乎是一个应该在某个时候已经被某人解决的问题,但我找不到任何支持该理论的东西。