I want to disable a 开发者_StackOverflow社区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?
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.
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.
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.
ValidatorEnable() did not work for me but this did
document.getElementById("<%=RequiredFieldValidatorId.ClientID %>").enabled = true;
精彩评论