Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 序列化字符串的Web API验证_C#_Asp.net Mvc_Asp.net Web Api - Fatal编程技术网

C# 序列化字符串的Web API验证

C# 序列化字符串的Web API验证,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,当我们以序列化字符串的形式接收模型时,我不确定如何在web API中验证模型 我在模型上使用DataAnnotation进行验证,我通常这样做: public IHttpActionResult Save([FromBody] IEnumerable<User> users) { if (!ModelState.IsValid) { return BadRequest(ModelState); } // ... } public I

当我们以序列化字符串的形式接收模型时,我不确定如何在web API中验证模型

我在模型上使用DataAnnotation进行验证,我通常这样做:

public IHttpActionResult Save([FromBody] IEnumerable<User> users)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }

    // ...
}
public IHttpActionResult保存([FromBody]IEnumerable用户)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
// ...
}
在此特定情况下,“模型”来自序列化字符串:

public IHttpActionResult Save()
{
    string Data = HttpContext.Current.Request.Form["Data"];
    IEnumerable<User> users = JsonConvert.DeserializeObject<IEnumerable<User>>(Data);

    // ...
}
public IHttpActionResult保存()
{
string Data=HttpContext.Current.Request.Form[“Data”];
IEnumerable users=JsonConvert.DeserializeObject(数据);
// ...
}

我怎么可能证实这一点

按照上面的例子:

        // Validate
        Validate<List<User>>(user);

        if (!ModelState.IsValid)
        {
            return new InvalidModelStateResult(ModelState, true, new DefaultContentNegotiator(), Request, new MediaTypeFormatter[] { new JsonMediaTypeFormatter() }); // Force JSON
        }
//验证
验证(用户);
如果(!ModelState.IsValid)
{
返回新的InvalidModelStateResult(ModelState,true,new DefaultContentCongregator(),Request,new MediaTypeFormatter[]{new JsonMediaTypeFormatter()});//强制JSON
}

谢谢。

您能使用定制的活页夹吗?