C# 将JSON对象作为post请求发送并反序列化到web DTO对象-如何在web api中进行多态模型绑定以进行数据验证?

C# 将JSON对象作为post请求发送并反序列化到web DTO对象-如何在web api中进行多态模型绑定以进行数据验证?,c#,asp.net,json,dto,web.api,C#,Asp.net,Json,Dto,Web.api,我可以控制服务器外的数据发送到此API端点,并且为端点构建了一个API控制器。问题是端点将从请求体接收JSON对象,并将其反序列化为web DTO对象。这里,我希望API控制器根据Web DTO表单中的数据注释执行数据验证。API端点将JSON对象转换为web DTO对象,然后将数据传递给API控制器中的另一个函数(如下所示)。我希望使用以下代码来实现此目的,但ModelState.IsValid似乎总是返回true: public StatusMessage ValidateD

我可以控制服务器外的数据发送到此API端点,并且为端点构建了一个API控制器。问题是端点将从请求体接收JSON对象,并将其反序列化为web DTO对象。这里,我希望API控制器根据Web DTO表单中的数据注释执行数据验证。API端点将JSON对象转换为web DTO对象,然后将数据传递给API控制器中的另一个函数(如下所示)。我希望使用以下代码来实现此目的,但ModelState.IsValid似乎总是返回true:

        public StatusMessage ValidateDto(ModelDto dataDto)
        {
            if (!ModelState.IsValid)
            {
                return new StatusMessage("Unable to validate");
            }

            return new StatusMessage("success");

        }
我在App_Start下有ModelBinders来确定数据绑定的模型,但是ModelState.IsValid始终返回true,即使JSON对象包含的数据超过“范围”。以前有人处理过类似的情况吗

非常感谢您的帮助