我实际上是在尝试使用函数ValidatorValidate(id,boolean)禁用页面上的所有RequiredFieldValidator,但是我的第一步是获取页面上所有验证器的集合,然后将它们过滤到只是RequiredFieldValidators。
我希望只在可能的情况下使用javascript执行此操作。
答案 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