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」中攔截驗證(在您的操作方法之前執行) –
您是如何執行此操作的。請顯示該代碼。 –