我正在尝试将KendoUI Validator与ASP.NET WebForms项目一起使用。 我有一个简单的页面,有许多输入,当然ASP.NET也添加了一些隐藏的表单元素。
我有以下问题:
我得到的行为:
我正在使用以下kendo:
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');
}
});
当我按下验证链接时,它会显示隐藏字段的验证消息。
答案 0 :(得分:3)
对于任何有兴趣的人,我最终得到了对这个问题的回复。我不得不将它发布在KendoUI Premium论坛上,以便让某人回复。
以下是回复: How do I get KendoUI Validator to ignore hidden form elements?
实际上,隐藏的输入元素通过验证 由于存在多个小部件,默认情况下会对逻辑进行规则 它有一个隐藏的输入作为标记的一部分。但是,作为 如果存在某些属性,内置规则会转发 缺少不会对隐藏的输入进行验证。因此, 您自己的自定义规则应该处理这种情况并跳过 适当的元素。例如:
testRule2: function (input) {
if (!input.is(":hidden")) {
return $.trim(input.val()) !== "";
}
return true;
}
答案 1 :(得分:2)
我正在为新来的人写这篇文章。
只需隐藏输入已禁用
$('#hidden_input').prop('disabled', true) // won't check in kendo or standard jquery validation
$('#hidden_input').prop('disabled', false) // will check in kendo or standard jquery validation
答案 2 :(得分:0)
validator._inputSelector=
":input:not(:button,[type=submit],[type=reset],[disabled],[readonly],[type=hidden],:hidden)
[data-validate!=false]
这不会验证隐藏的控件。剑道2018版