Performing Custom Validation using the CustomValidator Control (C# 2005)

The CustomValidator controls are used to enforce validations which cannnot be enforced with the standard validation controls provided by Asp.Net. The CustomValidator controls can be used to perform validations on server-side as well as on the client-side.

The CustomValidator control calls a user-defined function to perform validations that the standard validators cannot handle. The user-defined function, also referred to as the custom function can execute on the server or in the client-side script, such as JScript or VBScript or c#. For client-side custom validation, the name of the custom function must be identified in the ClientValidationFunction property. The custom function must be written as a form function, say, myvalidator(source, arguments). Note that the ‘source’ is the client-side CustomValidator object, and ‘arguments’ is an object with two properties, Value and IsValid. The Value property is the value to be validated and the IsValid property is a Boolean and is used to set the return result of the validation.
For server-side custom validation, place your custom validation code in the validator’s OnServerValidate delegate.


Properties of CustomValidator control

ControlToValidate

Use this property to Specify the ID of the control to be validated.

Display

This property determines how the error message contained in the text property is to be displayed. Possible values are Static, Dynamic and None; the default value is Static.

ErrorMessage

This property specifies the error message that is to be displayed in the ValidationSummary control. This error message is displayed by the control when the Text property is not set.

IsValid

This property contains the value true when the validation check succeeds and false when the validation check fails.

Text

This property sets the error message displayed by the control.

Methods of CustomValidator control

OnServerValidate

This method raises the ServerValidate event.

Validate

This method performs validation and updates the IsValid property.

Events of CustomValidator control

ServerValidate

This event represents the function for performing the server-side validation.

The following sample shows how to use the CustomValidator control.

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script language="C#" runat="server">

void CustomValidator_ServerValidate(object s, ServerValidateEventArgs e)
{
if (IsConnectionProper() == true)
{
//Response.Write("OK");
e.IsValid = true;

}
else
{
//Response.Write("Not OK"); 
e.IsValid = false;
}
}


bool IsConnectionAvailable()
{
System.Uri objUrl = new System.Uri(txtWebsite.Text);
WebRequest objWebReq;
try
{
objWebReq = System.Net.WebRequest.Create(objUrl);
return true;
}
catch (Exception ex)
{
return false;
}
}


bool IsConnectionProper()
{

if (IsConnectionAvailable() == true)
{

string URL = txtWebsite.Text;
//Create a request for the URL. 
WebRequest request = WebRequest.Create(URL);
try
{
//Get the response. 
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//Display the status. 
//Response.Write(response.StatusDescription);
//Response.Write("\n Site Exists.");
return true;
}
catch (Exception exc)
{

//Response.Write("\n Site does not exists.");
return false;
}

} //if
else
{
//Response.Write("Syntax not correct");
return false;
}
}

</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label id="lblWebsite" Text="Website" 
Width="200px" Font-Size="12px" 
runat="server" />
<asp:TextBox ID="txtWebsite" 
MaxLength="100" 
Width="400px" runat="server" /> 
<asp:RequiredFieldValidator ID="txtWebsiteValidator" 
ControlToValidate="txtWebsite" 
Text="*" ErrorMessage="Website is Missing"
runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" 
ControlToValidate="txtWebsite" 
Text="Invalid URL" 
ValidationExpression="http://\S+\.\S+" 
runat="server" />
<asp:CustomValidator ID="CustomValidator1" 
ControlToValidate="txtWebsite" 
OnServerValidate="CustomValidator_ServerValidate" 
Display="Dynamic" 
Text="URL not active" 
runat="Server" /> 
</div>
</form>
</body>
</html>


In the above example, we have created a custom validation subroutine ‘CustomValidator_ServerValidate’ that checks whether a website URL is active or not. Note that the custom validation subroutine is not called when the control being validated does not contain any data. We have used the RequiredFieldValidator control to check for an empty form field.

The subroutine, void CustomValidator_ServerValidate(object s, ServerValidateEventArgs e) checks whether the URL entered in the web site address field, by calling function IsConnectionAvailable. If it is active, the value True is assigned to the IsValid property, otherwise, the value False is assigned.

Pack Offers technologies used to write erp books are .net, sql server and C#


cover image of azure cloud book

Develop Azure Applications

Azure Cloud is gaining popularity and is competing with Amazon Elastic Cloud and Google Cloud for a spot in the billion dollar Cloud computing space.

With this book learn how to use - Table (an Azure Table is different from a SQL Server Table), Queue, Blob storage services, use your local machine to create an Application and a Service, how Azure splits a Table to achieve Load Balancing, Scalability based on the Partition Key, AppFabric Service Bus, Access Control Service, role of Fabric Controller, features of Azure SQL Database and Content Delivery Network.

Many have mastered Cloud Programming and are enjoying the benefits. Why not you?

View Highlights » View Contents »
cover image of foundation database programming book

Create your Own Accounting Software

A foundation book to Master Accounting Software Development, VB.Net, C# and OOPs programming. Detailed explanation of the Accounting domain for programmers is included. SQL and ADO.Net is also covered in detail.

This book gives you a strong foundation in Application Development.

A thorough understanding of the contents will enable you to grasp the topics covered in the accompanying books quite easily. This is because, the accounting domain is dealt with great detail in this book.

The ideal book to get started with application development in the .Net world.

View Highlights » View Contents »

cover image of asp.net book

Create your Own WEB ERP Software using ASP.Net

This book opens you to the Web. Using ASP.Net, C# and SQL Server as the tools, you will learn to build a Multi Tier Web Application as recommended by Microsoft. You will learn implementing inline GridView control, Transaction Management for a layered Web Application, build Data Access component and a Business Layer component.

Opens you to a world of opportunities. You will be able to develop a Web ERP application including all the five modules and learn how to use the TreeView control and GridView control to implement transactions such as Purchase Invoice, Sales Order and Sales Invoice.

View Highlights » View Contents »
cover image of entity framework book

ASP.Net MVC 5 Application Development Using Entity Framework 6 and VS 2015

Entity frameworks is the latest buzz in .Net programming and is the data access technology for Microsoft OS based hand held devices and web applications. Learn to integrate EF into an ASP.Net Application and MVC application. Create, explore and query the Entity Data Model. Learn how to use ObjectDataSource control and GridView control in an ASP.Net Application.

Also, learn to build Three-Tier ASP.Net application, create a business-class, implement methods in the class to perform CRUD operations and bind a GridView to the ObjectDataSource control. Learn how to handle concurrency and managing Transactions.

View Contents »