了解控件在 JavaScript 中是否有效的更好选择

Better alternatives to know whether a control is valid in JavaScript?

本文关键字:有效 更好 选择 是否 控件 JavaScript 了解      更新时间:2023-09-26

我想知道一个控件在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;
}

有人有更好的选择吗?

下面的代码应该可以工作。

function isControlValid(control) {
    var validators = $(control).Validators;
    var isValid = true;
    Array.forEach(validtors, function(item) {
        isValid = isValid && (item.isvalid === true);
    });
    return isValid;
}

更新

这比您提出的要好,因为整个页面验证器都没有迭代。只有与控件关联的控件用于迭代。 $(control).Validators用于检索与控件关联的验证程序。