我想知道JavaScript中的控件是否有效。在Asp.Net中是否有可用的直接客户端API,它可以告诉我控件是否有效?
EG。如果我有2个验证器附加到文本框,我需要一个函数,可以告诉我文本框是否有效。如果即使1个验证器无效,那么它应该返回false。
我似乎找不到能给我这个功能的功能。这是我写的一个小帮手,它完成了这项工作,但效率很低:
function isControlValid(control) {
for (i = 0; i < Page_Validators.length; i++) {
var validator = Page_Validators[i];
var controlId = validator.controltovalidate;
if ($(control).attr('id') == controlId && validator.isvalid == false) {
return false;
}
}
return true;
}
有人有更好的选择吗?
答案 0 :(得分:1)
以下代码应该有效。
function isControlValid(control) {
var validators = $(control).Validators;
var isValid = true;
Array.forEach(validtors, function(item) {
isValid = isValid && (item.isvalid === true);
});
return isValid;
}
<强>更新强>
这比您提议的更好,因为整个页面验证器不会被迭代。只有与控件关联的那些用于迭代。 $(control).Validators
用于检索与控件关联的验证器。