当ModelState在asp.net?

时间:2016-03-05 05:41:01

标签: c# asp.net asp.net-web-api modelstate

我正在开发asp.net webapi项目,我遇到了ModelState的问题。

我有一个模特像这样:

public class Model
{
    [Required]
    public DateTime? Date { get; set; }
}

这是我处理帖子请求的代码:

public IHttpActionResult Post([FromBody]Model model)
{
    model.Date = model.Date ?? DateTime.Now;
    if (ModelState.IsValid)
    {
        return Ok();
    }
    return BadRequest();
}

此代码返回错误请求作为响应,为什么?

我的问题是当ModelState添加验证错误以及如何解决它时?

1 个答案:

答案 0 :(得分:0)

由于[Required]属性,当Date属性为空时,ModelState是无效的。即使值随

而变化
    model.Date = model.Date ?? DateTime.Now;

ModelState仍然无效。