我正在嘗試在ASP.NET WebForms項目中使用KendoUI Validator。 我有一個簡單的頁面,它有很多輸入,當然ASP.NET也添加了一些隱藏的表單元素。如何讓KendoUI驗證程序忽略隱藏的表單元素?
我有以下問題:
- 爲什麼KendoUI驗證沒有忽略隱藏表單域,以及如何我得到它?
- 爲什麼KendoUI將規則應用到每個輸入字段,以及如何讓它忽略一些字段。我需要一種聲明性的方式來執行此操作,而不是通過在驗證規則中添加各種異常,如KendoUI Validator API頁面中的示例所示。
- 不應該是,如果沒有規則設置爲輸入元素中的屬性(例如;必需),那麼不應用驗證?
行爲我越來越:
- 含)
- 隱藏的表單元素進行驗證input元素可言,當我打電話.validate(驗證規則仍然可以應用在沒有驗證特定屬性。
我使用以下劍道:
http://cdn.kendostatic.com/2013.2.716/js/jquery.min.js
http://cdn.kendostatic.com/2013.2.716/js/kendo.all.min.js
http://cdn.kendostatic.com/2013.2.716/styles/kendo.common.min.css
http://cdn.kendostatic.com/2013.2.716/styles/kendo.default.min.css
小提琴,演示了這一點,我已經放在一起: http://jsfiddle.net/codeowl/B5ML4/3/
這裏是代碼,對於那些用不上小提琴:
我有以下標記:
<form action="/" id="testForm">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="text" id="testInput" value="">
<a id="testValidate" href="javascript:;">Validate</a>
</form>
和下面的腳本:
var validatable = $("#testForm").kendoValidator({
rules: {
testRule1: function (input) {
// Only "Tom" will be a valid value for the FirstName input
return input.is("[name=firstname]") && input.val() === "Tom";
},
testRule2: function (input) {
return $.trim(input.val()) !== "";
}
},
messages: {
testRule1: "Your name must be Test",
testRule2: "Your name must be Foo"
}
}).data("kendoValidator");
$("#testValidate").click(function() {
if (validatable.validate()) {
alert('passed');
}
});
,當我按下驗證鏈接它顯示了隱藏字段驗證消息。
工作的呢?似乎該規則只到其他輸入,除了只是那些這些設置.... – Maxrunner
我結束了通過添加一個屬性我想使用的自定義規則的元素,並賦予它的規則名稱的值,然後在該規則檢查實施解決方案爲那個價值。例如: 例如; – user2109254
您應該提供答案的相關部分以及鏈接。 – Pluc