2

我想知道一个控件在 JavaScript 中是否有效。Asp.Net 中是否有可用的直接客户端 API 可以告诉我控件是否有效?

例如。如果我有 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;
}

有人有更好的选择吗?

4

1 回答 1

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用于检索与控件关联的验证器。

于 2012-04-13T05:32:20.030 回答