CustomValidator control
The
CustomValidator control allows you to create a validation control with
customized validation logic. The standard validator can not call a user-defined
function. The CustomValidator control calls a user-defined function to perform
validations. The interesting
stuff in this control is that you have ability to validate your input data both
from Client side using JavaScript and Server side by writing your code in code
behind file in any of the .NET supported programming language.
Properties:
These are
the some important properties of the CustomValidator control.
Text
- Text to display for the validator when the validated control is invalid.
BackColor -
The background color of the RequiredFieldValidator control.
ControlToValidate -
The id of the control to validate.
Display -
The display behavior for the validation control. Legal values are:
-None (the control is not displayed. Used to
show the error message only in the ValidationSummary control).
-Static (the
control displays an error message if validation fails. Space is reserved on the
page for the message even if the input passes validation.
-Dynamic (the
control displays an error message if validation fails. Space is not reserved on
the page for the message if the input passes validation.
ErrorMessage - The text to display in the
ValidationSummary control when validation fails. Note: This text will also be
displayed in the validation control if the Text property is not set.
ForeColor -
The foreground color of the control.
For
example:
Drag a
Label control, one TextBox control, Button control from the toolbox on the form.
The form looks like this.


Figure1.
Now click
on the source button of the design form to see the .aspx code.
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb"Inherits="WebApplication13.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Enter
a username: " />
<asp:TextBox id="txt1" runat="server" />
<asp:CustomValidator ID="CustomValidator1"
ControlToValidate="txt1" Text="A
username must be between 6 and 10 characters!"
runat="server" ForeColor="#FF5050"/><br />
<br />
<asp:Button ID="Button1" Text="Submit" runat="server" style="height:
26px"/>
<br />
<br />
</div>
</form>
</body>
</html>
Now
double click on the custom validate control of the design form and add the
following code on the server validate event.
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args AsSystem.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
If Len(args.Value)
< 6 Or Len(args.Value) >
10 Then
args.IsValid = False
Else
args.IsValid = True
End If
End Sub
Now save
and run the application and enter three character.

Figure2
Now click on the Button
control.


Figure3