在javascript中获取ASP.Net验证器的集合

时间:2014-09-26 15:56:10

标签: javascript asp.net validation

我实际上是在尝试使用函数ValidatorValidate(id,boolean)禁用页面上的所有RequiredFieldValidator,但是我的第一步是获取页面上所有验证器的集合,然后将它们过滤到只是RequiredFieldValidators。

我希望只在可能的情况下使用javascript执行此操作。

2 个答案:

答案 0 :(得分:2)

function DisbaleAllValidators() {
    if (typeof Page_Validators != 'undefined') {
        for (i = 0; i < Page_Validators.length; i++) {
            if (Page_Validators[i] != null) {
                ValidatorEnable(Page_Validators[i], false);
            }
        }
    };
}

<强>更新

根据MSDN文档,您无法区分客户端的验证器类型。但是,您可以尝试为requiredfieldvalidators分配一个css类 - 然后检查验证器是否属于该类。未经测试:代码:

if ($(Page_Validators[i]).hasClass("classname")) {  
    ValidatorEnable(Page_Validators[i], false);
}

答案 1 :(得分:0)

您可以通过检查评估函数名称来获取所有必需的字段验证器(此示例使用<function>.toString(),因为IE8中不支持<function>.name):

if(Page_Validators[i].evaluationfunction.toString().indexOf('RequiredFieldValidatorEvaluateIsValid') != -1) {
     // Do stuff here