[英]ASP.Net MVC:Bit different kind of conditional validation server side and client side
我處於必須實現位有線條件驗證服務器端和客戶端端的情況。 故事如下
a)假設我有一個下拉菜單
b)兩個復選框,
c)一個單選按鈕列表
d)一個復選框列表
e)幾個文本框和
f)保存按鈕
1)我的要求是,當用戶從下拉列表中選擇一個數據並提交表單時,除兩個復選框外,所有控件的驗證消息都會顯示。
2)當用戶從下拉列表中選擇一項數據並從2個復選框中選擇一個並提交表單時,將顯示除復選框列表以外的所有控件的驗證消息。
我知道要求有點有線,但是我必須做類似的事情。 因此,請給我建議,例如如何使用自定義驗證在mvc中解決該問題。
如何使用ValidationAttribute and IClientValidatable interface
在客戶端和服務器端實現此驗證。
謝謝
假設您使用的是非侵入式驗證,則可以使用其他方法。 可以在客戶端/服務器上啟用和禁用某些字段的驗證。
對於ActionMethod中的服務器端,您可以執行以下操作:
' Check if any of the two CheckBoxes are not checked, then
ModelState.Remove("CheckBox1")
ModelState.Remove("CheckBox2")
' Else
ModelState.Remove("CheckBoxList")
要禁用客戶端非侵入式驗證(請參閱https://stackoverflow.com/a/12179373/1361888 ),
$(function() {
var settngs = $.data($('form')[0], 'validator').settings;
settngs.ignore = ".ignore";
});
因此,您基本上可以在客戶端和服務器端都啟用或禁用對字段的驗證。 這是簡單的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.