我正在尝试在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