1
我正在开发asp.net webapi项目,我遇到了ModelState
问题。当ModelState在asp.net中添加验证错误?
我有一个模型就像这样:
public class Model
{
[Required]
public DateTime? Date { get; set; }
}
,这是我用来处理POST请求代码:
public IHttpActionResult Post([FromBody]Model model)
{
model.Date = model.Date ?? DateTime.Now;
if (ModelState.IsValid)
{
return Ok();
}
return BadRequest();
}
该代码响应,为什么返回错误的请求?
我的问题是当ModelState添加验证错误以及如何解决它?
首先,我认为你应该使用ActionFilter来集中你的ModelState验证:http://stackoverflow.com/questions/21654669/how-can-i-centralize-modelstate-validation-in-asp-net-mvc -using-action-filters/21654903#21654903 –
ModelState验证在''之前完成'到你的控制器。这就是为什么上面的代码失败。如果您查看上面链接的链接,您会看到我们可以在“OnActionExecuting”中拦截验证(在您的操作方法之前执行) –
您是如何执行此操作的。请显示该代码。 –