Preferred Language:
Listing 3.20 - LengthValidator.cs, Listing 3.21 - ShowLengthValidator.aspx
Illustrates how you can create a custom validation control that validates the length of a form field.
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace myControls
{
/// <summary>
/// Validates the length of an input field
/// </summary>
public class LengthValidator : BaseValidator
{
private int _maximumLength = 0;
public int MaximumLength
{
get
{
return _maximumLength;
}
set
{
_maximumLength = value;
}
}
protected override bool EvaluateIsValid()
{
string value = this.GetControlValidationValue(this.ControlToValidate);
if (value.Length > _maximumLength)
return false;
else
return true;
}
}
}
The following page uses the custom LengthValidator custom validator control.
<%@ Page Language="C#" %>
<%@ Register TagPrefix="custom" Namespace="myControls" %>
<!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 id="Head1" runat="server">
<title>Show Length Validator</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
id="lblComments"
Text="Comments:"
AssociatedControlID="txtComments"
Runat="server" />
<br />
<asp:TextBox
id="txtComments"
TextMode="MultiLine"
Columns="30"
Rows="2"
Runat="server" />
<custom:LengthValidator
id="valComments"
ControlToValidate="txtComments"
Text="(Must be less than 10 characters)"
MaximumLength="10"
Runat="server" />
<br /><br />
<asp:Button
id="btnSubmit"
Text="Submit"
Runat="server" />
</div>
</form>
</body>
</html>
Need ASP.NET and Visual Studio 2008 Training?
- Learn ASP.NET 3.5 from Stephen Walther, author of ASP.NET 3.5 Unleashed.
We've provided ASP.NET training for NASA, Lockheed Martin, the National Science Foundation, Verizon,
Boeing, the US House of Representatives, Kaiser, Petco, Mary Kay, and Microsoft.
Why not your company?
-
Receive a four day, hands-on, intensive workshop.
-
We fly to you, anywhere in the world.
-
We can bring our own laptops.
To learn more, visit the
Superexpert Training website.