ASP.NET验证摘要:如何使用JavaScript禁用验证程序?

时间:2010-01-27 16:57:30

标签: asp.net javascript

我想用JavaScript禁用ASP.NET RequiredFieldValidator。其实我正在使用以下代码:

function doSomething() 
{ 
  var myVal = document.getElementById('myValidatorClientID'); 
  ValidatorEnable(myVal, false);  
} 

这会禁用验证器。 但我的问题是,我正在使用ValidationSummary。此摘要显示验证消息,即使我禁用验证器。

有人可以告诉我,如何在ValidationSummary中禁用验证器?

4 个答案:

答案 0 :(得分:9)

解决方案是在禁用验证器后添加对ValidationSummaryOnSubmit()的调用。

function doSomething()  
{  
    var myVal = document.getElementById('myValidatorClientID');  
    ValidatorEnable(myVal, false);   
    ValidationSummaryOnSubmit();
}

您可以在开发计算机上找到名为WebUIValidation.js的文件,其中包含ASP.NET验证过程使用的客户端JavaScript函数。这些函数名称很好,通常很容易弄清楚每个函数的作用。

答案 1 :(得分:0)

也许您可以尝试设置EnableClientScript=true;并在禁用验证程序时将其css显示样式设置为none来隐藏摘要。摘要呈现为div,并且在未显示摘要时隐藏。

答案 2 :(得分:0)

查看为客户端验证器生成的javascript代码。我相信你必须从“Page_Validators”数组中删除验证器跨度。元素ID将与Validator ID匹配。

这只是一个理论。 :)让我们知道它是否有效,因为我很感兴趣。

答案 3 :(得分:0)

ValidatorEnable()对我不起作用,但确实如此

document.getElementById("<%=RequiredFieldValidatorId.ClientID %>").enabled = true;