通过javascript在ASP.NET中禁用验证器

时间:2016-07-14 02:30:37

标签: jquery asp.net validation client-side

我试图在ASP.NET页面中禁用一些requiredfield验证器。我写了以下javascript函数。我有四个必填字段验证器。选择器工作正常,但在禁用验证时失败。但是,如果我将for循环更改为for(var j = 0; j< validators.length-1; j ++),则ValidatorEnable适用于三个,即我可以轻松地禁用它们。任何人都可以让我知道为什么我不能禁用最后一个验证器,即第四个验证器。

function disableValidation() {
        var validators = $("[id^=MainContent_MemberInitiateRolloverControl1_][id$=_vr]");
        for (var j = 0; j < validators.length; j++) {
            console.log(validators[j]);
            ValidatorEnable(validators[j], false);
    }

1 个答案:

答案 0 :(得分:0)

CausesValidation属性设置为false以控制。 RequiredFieldValidator不会验证它们。一个例子:

<asp:TextBox ID="txt" runat="server" Text="New" CausesValidation="False" />

JavaScript解决方案

if (Page_Validators) {
    PageValidators.forEach(function(pageValidator) {
        if (pageValidator == null) {return;}
        if (pageValidator.controltovaliddate != "<%= ControlToValidate.ClientID %>") {
            return;
        }
        ValidatorEnable(pageValidator, false);
    });
};