Taming ASP.NET Validation Summary control






2.10/5 (6 votes)
Aug 4, 2004
2 min read

47363
To disable and enable Validation Summary control in ASP.NET while displaying customized error messages to avoid displaying duplicate error messages.
Introduction
ASP.NET provides lot of very strong and effective web controls. One of the most widely used controls is Validation Summary control. It gives us a neat and clean way to display error messages on the web page.
With my current program assignment I came across a problem when I had to disable the Validation Summary control on one button click and enable Validation Summary control on the same or other button click.
I know some of you might say OH what a big deal just use enable or visible property and we can accomplish the task. Yes you can but if you are not getting the desired result that you wanted, please read further.
Details
One of the basic problems, I came across was disabling the page validation summary control while displaying customized error messages. I was running into issue with duplicate error messages being displayed on the screen.
And finally I was able to find a solution for it and would like to share the solution with you hard working programmers- maybe this solution will save you some pain of taming Validation Summary control of ASP.NET
This example requires just very basic knowledge of java script so don’t be scared I promise this will be one of the easiest java scripts that can solve a complex problem.
Add the following text to the page tag on top of your aspx page:
clienttarget="downlevel"
The modified page tag will look something like this:
<%@ Page Language="vb" AutoEventWireup="false"
Codebehind="Mypage.aspx.vb" Inherits="MyPage"
clienttarget="downlevel" %>
Then add the following java script to your page:
<script language="JavaScript">
document.all["buttonName"].onclick =
new function("Page_ValidationActive=true;");
</script>
Then add the following code to the button click event:
Page.Validate()
If Page.IsValid Then
Lblerror.text = “your custom error message”
If Validationsummary1.Visible = True Then
Validationsummary1.Visible = False
End If
Else
If Validationsummary1.Visible = False Then
Validationsummary1.Visible = True
lblError.Text = ""
End If
End If
ValidationSummary1
is the validation summary control on the page.lblError
is the label control to display your custom error messages.
In addition to this, if you want to disable the page validation on the cancel event of some secured page [to go back to previous page] that is a page with https, you might want add the following java script to your aspx page
<script language="JavaScript">
document.all["CancelbuttonName"].onclick =
new function("Page_ValidationActive=false;");
</script>