CustomValidator is a very useful control that can be used for client side as well as server side validation for the code. There might be some requirement on the server side to check some conditions and perform some action. Here, I have provided one example of the CustomValidator to check the server side as well as client side code.

To check the server side method/function using CustomValidator, you need to provide a server method name to the property “OnServerValidate” (i.e. OnServerValidate = “MyServerMethod”), and for client side code you can set the client method name to the property “ClientValidationFunction” (i.e. ClientValidationFunction = “MyClientMethod”).

On a button click event code, first you need to check the condition for Page.IsValid, as server side method will set Page.IsValid = false when a condition is not matched as requirement and hence will throw the message written in a CustomValidator control. The client side code will be executed first and if it executes successfully with valid arguments, then only the server side method will be checked further.

Check the following code which describes how to use CustomValidator.

<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void ValidateBtn_OnClick(object sender, EventArgs e)
{
if (Page.IsValid)
{
lblOutput.Text = "Page is valid.";
}
else
{
lblOutput.Text = "Page is not valid!";
}
}
void ServerValidation (object source, ServerValidateEventArgs arguments)
{
int i = int.Parse(arguments.Value);
arguments.IsValid = ((i%2) == 0);
}
</script>
</head>
<body>
<form runat="server">
<h3>CustomValidator Example</h3>
<asp:Label id=lblOutput runat="server"
Text="Enter an even number:"
Font-Name="Verdana"
Font-Size="10pt" /><br>
<p />
<asp:TextBox id="Text1"
runat="server" />
&nbsp;&nbsp;
<asp:CustomValidator id="CustomValidator1"
ControlToValidate="Text1"
ClientValidationFunction="ClientValidate"
OnServerValidate="ServerValidation"
Display="Static"
ErrorMessage="Not an even number!"
ForeColor="green"
Font-Name="verdana"
Font-Size="10pt"
runat="server"/>
<p />
<asp:Button id="Button1"
Text="Validate"
OnClick="ValidateBtn_OnClick"
runat="server"/>
</form>
</body>
</html>
<script language="javascript">
<!--
function ClientValidate(source, arguments)
{
if ((arguments.Value % 2) == 0)
arguments.IsValid=true;
else
arguments.IsValid=false;
}
// -->
</script>

Advertisements
Comments
  1. AlexM says:

    I found your site on technorati and read a few of your other posts. Keep up the good work. I just added your RSS feed to my Google News Reader. Looking forward to reading more from you down the road!

  2. hspinfo says:

    Thanks Alex for being supportive

  3. holahola says:

    Nice post

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s