是否有可能通過ModelState.AddModelError(inputId)爲輸入添加一個錯誤,以在UI上產生錯誤突出顯示並使其必須像客戶端驗證一樣行爲,即當用戶在輸入錯誤類中更改時將被刪除。asp.net mvc通過ModelState輸入添加和隱藏錯誤
0
A
回答
2
型號:
public class MyViewModel
{
[Required]
public string Foo { get; set; }
}
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
ModelState.AddModelError("foo", "Foo is required");
return View(new MyViewModel());
}
}
查看:
@model MyViewModel
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
@using (Html.BeginForm())
{
@Html.EditorFor(x => x.Foo)
@Html.ValidationMessageFor(x => x.Foo)
<button type="submit">OK</button>
}
現在,當呈現頁面時,富域將紅色突出顯示一個錯誤,當用戶在字段中鍵入內容並模糊,錯誤將被刪除。
+0
我需要它來動態生成輸入。我沒有適合使用屬性的模型。 – drunkcamel 2012-03-29 12:41:50
+0
@drunkcamel,客戶端驗證依賴於數據註釋屬性。如果您沒有合適的屬性,您將不得不編寫自定義屬性並實現「IClientValidatable」接口以指示需要應用的確切的客戶端驗證規則。如果有自定義驗證規則,您還必須編寫自定義客戶端適配器並使用JavaScript函數轉置所有自定義邏輯。 – 2012-03-29 12:48:36
相關問題
- 1. ASP.NET MVC用超鏈接添加ModelState錯誤
- 2. 通過CSS隱藏輸入和標籤
- 3. 向ModelState添加錯誤
- 4. ASP.NET MVC:不顯示ModelState錯誤消息
- 5. ASP.NET MVC 3 ModelState
- 6. ASP.NET - 隱藏BoundField輸入
- 7. Angularjs和Asp.net MVC - 角desn't得到輸入型隱藏
- 8. JQuery - 爲隱藏的輸入添加值
- 9. 動態添加隱藏輸入與jquery
- 10. MVC ModelState錯誤地報告錯誤
- 11. 當ModelState在asp.net中添加驗證錯誤?
- 12. MVC 2 ModelState - 顯示所有錯誤
- 13. jQuery的 - 通過輸入字段隱藏輸入值
- 14. 如何輸入數據添加到隱藏輸入字段
- 15. Asp.net MVC 3加密隱藏值
- 16. ASP.NET MVC通過Ajax錯誤記錄
- 17. jQuery.validate和隱藏輸入
- 18. JavaScript和隱藏輸入
- 19. 進入後隱藏輸入文本,輸入後隱藏密碼
- 20. 如何驗證隱藏在ASP.NET MVC中的輸入4
- 21. ASP.NET MVC - 分配變量到輸入隱藏字段
- 22. asp.net mvc textboxfor隱藏密碼輸入的文本
- 23. asp.net mvc:將javascript浮點數轉換爲隱藏輸入
- 24. ASP.NET MVC中隱藏輸入的客戶端驗證
- 25. 毫秒被ASP.NET MVC隱藏輸入元素截斷
- 26. 動態添加值和id到一個輸入類型隱藏
- 27. ASP.NET MVC:力的ModelState和不同的ErrorMessage
- 28. ASP.NET MVC和跟蹤輸出錯誤
- 29. 通過asp.net隱藏網址中的參數mvc routing
- 30. 如何通過MPMovieplayerViewController添加標題和隱藏自來水
是的,這是它通過設計工作的方式。如果它不適用於您,請確保您使用的屬性名稱實際上與在頁面上呈現的模型屬性匹配,並且您已將驗證消息包含在視圖中(儘管如此,客戶端也應該這樣做) )。 – tvanfosson 2012-03-29 12:40:35