我想獲得一個非常簡單的客戶端驗證示例,以在ASP.NET MVC 2中工作。我使用數據註釋來設置必需的屬性「姓氏」。當我使用Html.ValidationMessageFor(x => x.Surname)時,將正確的客戶端驗證腳本寫入頁面。但是,當我使用Html.ValidationMessage(「姓氏」)時,客戶端驗證不會在頁面發佈之後呈現出來。客戶端驗證僅在表單發佈後纔開始工作!我可以看到腳本在表單發佈後在頁面中更新。 Html.ValidationMessage()中似乎存在一個錯誤?ASP.NET MVC 2客戶端驗證不適用於Html.ValidationMessage()?
1
A
回答
0
我還沒試過,但元數據存儲在proprerty中,所以只有ValidationMessageFor有能力檢查prop(通過靜態反射)。
另一個幫助器使用一個字符串鍵來訪問沒有任何引用屬性(也沒有驗證元數據信息)的modelstate字典,所以我不認爲Html.ValidationMessage(字符串鍵)有能力注入驗證腳本客戶端。
0
據我所知,驗證需要嘗試驗證,即使它是客戶端。
您可以嘗試在GET視圖中創建模型的新實例,然後在將其發送到視圖之前使用TryValidateModel()。這應該會導致驗證邏輯運行,從而填充客戶端驗證,這將導致所有必填字段顯示其錯誤版本,但取決於您選擇如何選擇樣式,這並不是一個大問題。
2
確保您在母版頁頭中引用了正確的腳本。
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcValidation.js") %>" type="text/javascript"></script>
也要看你的觀點,以確保客戶端驗證呼叫您的形式
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
...
<% } %>
,當然你的驗證消息顯示上面的問題。
<span class="editor-label"><%= Html.ValidationMessageFor(u => u.Name)%></span>
這真的是你所需要的。我相信只有在字段中輸入文本,然後將文本和標籤移出字段時,必需屬性纔會開始檢查,因此請嘗試查看是否獲得驗證。其他人將在屬性需要時驗證。例如,當您超過50個字符時,[StringLength(50)]
將顯示一條錯誤消息。
相關問題
- 1. 客戶端驗證不適用於ASP.NET MVC 2中的子屬性?
- 2. asp.net mvc客戶端驗證
- 3. ASP.NET MVC驗證摘要用於客戶端驗證
- 4. ASP.Net MVC 3不顯眼的客戶端驗證不適用於下拉列表
- 5. Multifield required驗證不適用於MVC 5中的客戶端?
- 6. 客戶端驗證不MVC
- 7. ASP.NET MVC 2 RC客戶端驗證不工作
- 8. ASP.NET MVC 2:動態啓用/禁用客戶端驗證
- 9. asp.net客戶端驗證MicrosoftMvcJQueryValidation
- 10. MVC 2 Html CheckBox客戶端驗證
- 11. asp.net mvc jquery客戶端驗證
- 12. ASP.Net MVC 2.0客戶端驗證回發
- 13. ASP.NET MVC 3客戶端驗證
- 14. 客戶端驗證在asp.net mvc 3
- 15. 客戶端驗證Asp.Net MVC 4
- 16. ASP.NET MVC-XVal客戶端驗證日期
- 17. ASP.NET MVC 2.0客戶端驗證HOWTO
- 18. ASP.NET MVC和部分客戶端驗證
- 19. Asp.Net MVC 2.0客戶端驗證VS 2010
- 20. 客戶端驗證爲asp.net mvc下拉?
- 21. 在ASP.NET MVC 2和AJAX中啓用客戶端驗證
- 22. ASP.NET MVC5客戶端驗證
- 23. 客戶端驗證不起作用Mvc
- 24. Asp.net MVC客戶端驗證,沒有客戶端驗證的子項?
- 25. MVC客戶端驗證
- 26. 客戶端驗證MVC 5
- 27. ASP.NET MVC 2 Ajax形式的客戶端驗證功能
- 28. 客戶端驗證列表在ASP.Net MVC 2
- 29. 如何比較2值與ASP.NET MVC中的客戶端驗證?
- 30. asp.net mvc 2客戶端驗證網站的網址
問題是爲什麼ValidationMessage(字符串鍵)不像ValidationMessageFor()那樣工作,而不是如何使用ValidationMessageFor – 2010-04-13 17:15:19