ASP.NET Validation Summary: How to disable validat

2020-07-07 02:02发布

I want to disable a ASP.NET RequiredFieldValidator with JavaScript. Actually I'm using the following code:

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

This disables the validator. But my problem is, that I'm using a ValidationSummary. And this summary shows the validation message, even if I disable the validator.

Can someone tell me, how to disable the validator in the ValidationSummary too?

4条回答
劫难
2楼-- · 2020-07-07 02:45

Look at the javascript code generated for the validators on the client side. I believe you'll have to remove the validator spans from the "Page_Validators" array. The element ID will match the Validator ID.

This is just a theory. :) Let us know if it works, because I'm interested.

查看更多
劳资没心,怎么记你
3楼-- · 2020-07-07 02:51

ValidatorEnable() did not work for me but this did

document.getElementById("<%=RequiredFieldValidatorId.ClientID %>").enabled = true;
查看更多
ゆ 、 Hurt°
4楼-- · 2020-07-07 02:52

Maybe you could try setting the EnableClientScript=true; and hide the summary by setting its css display style to none when you disable your validator. The summary is rendered as a div and is hidden when no summary is being displayed.

查看更多
Rolldiameter
5楼-- · 2020-07-07 02:56

The solution is to add a call to ValidationSummaryOnSubmit() after you disable the validator.

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

You can find a file called WebUIValidation.js on your development computer, which contains the client side JavaScript functions used by the ASP.NET validation process. The functions are well named and it's generally fairly easy to figure out what each of them do.

查看更多
登录 后发表回答