2012-04-23 69 views
0

我錯過了什麼嗎?我想從我的Web API更新方法返回模型驗證錯誤這樣ModelState.AddModelError

public void Update public void UpdateModel(Models.Model entity) { 
     ModelState.AddModelError("name","error"); 
     return; 

然而,JSON返回已沒有驗證錯誤

例如本文中enter link description here

當我嘗試使用一個驗證過濾器,如前面的文章中的鏈接我得到的錯誤操作xxxxx有一個或多個過濾器應用,不派生自AuthorizationFilterAttribute。 DataController插入/更新/刪除操作僅支持授權過濾器。

回答

0

ModelState不能從您的JSON訪問,除非您專門序列化它。它更多地用於幕後的HtmlHelper擴展。如果您試圖更新界面,就好像模型狀態被標記爲這樣,您就會發現這一切都是錯誤的。您可以:

  1. 做一個完整的帖子到服務器並讓它呈現適當的響應
  2. 帶你回來的JSON,然後樣式領域作爲適用於該反應。
+0

我試圖將ValidationErros放入JSON中,它以與它們在模型中出現的驗證屬性相同的方式返回。例如,「ValidationErrors」:[{「__ type」:「System.Web.Http.Data.ValidationResultInfo,System.Web.Http.Data」,「Message」:「tReleaseDate必須在當前日期之後」,「ErrorCode」: 0,「StackTrace」:null,「SourceMemberNames」:[「tReleaseDate」]} – 2012-04-23 22:14:02

+0

請參閱文章http://blog.duc.as/tag/asp-net-web-api/ – 2012-04-23 22:18:00

相關問題