Click here to Skip to main content
13,253,507 members (43,950 online)
Click here to Skip to main content
Add your own
alternative version


41 bookmarked
Posted 5 Jul 2001

Enhancing ASP.NET Validators

, 5 Jul 2001
Rate this:
Please Sign up or sign in to vote.
An article on extending the ASP.NET validators
<!-- Download Links --> <!-- Article image -->

Sample Image - enhacedvalidator.gif


ASP.NET has impressive improvements in Web development. Data validation, deployment, user controls and lots more. And best of all: you can extend the basic controls using the class hierarchy. In this article I'll show how to change the validator controls to give better visual feedback to the user. It will change the label color of an invalid field.


To have the desired result I extended the validators to include 5 properties

LabelControlIdentify the label control of the control to be validated
LabelColorThe standard label color
ErrorLabelColorThe color of the label when the control input is invalid
UseErrorIndicatorSet if an error indicator should be used
ErrorIndicatorSets the error indicator. The error indicator is a prefix string that will be included in the label, ie '*'

To change the color of the label I wrote my EvaluateIsValid method, calling the base class implementation, changing the label according to the return value:

protected override bool EvaluateIsValid()
    bool result = base.EvaluateIsValid();

    Control control = FindControl(LabelControl);
    if (control != null)
        Label label = control as Label;

        if (label != null)
            string sColorName = result ? LabelColor : ErrorLabelColor;
            label.ForeColor = Color.FromName(sColorName);

            if (UseErrorIndicator)
                string sLabelText = label.Text;

                if (result)
                    if (sLabelText.StartsWith(ErrorIndicator))
                        sLabelText = sLabelText.Substring(ErrorIndicator.Length);
                    if (!sLabelText.StartsWith(ErrorIndicator))
                        sLabelText = ErrorIndicator + sLabelText;

                label.Text = sLabelText;

    return result;

I've compiled the class into a library:

csc /out:bin\XWebControls.dll /t:library XWebControls.cs

To use it in a page you have to register the prefix:

<%@ Page Language="C#" %>
<%@ Register TagPrefix="XC" Namespace="XWebControls" 

                Assembly="XWebControls" %>
<XC:RequiredFieldValidator    runat="server"

    ErrorMessage="The Required Field is required"





    Display="none" />

The source file included just implements the RequiredFieldValidator and the CustomValidator, but it's easy to write the others validators, or even you own validator. The source was developed using the .NET Beta 2


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Architect VisionOne AG
Switzerland Switzerland
XicoLoko is a brazilian developer based in Switzerland.

You may also be interested in...

Comments and Discussions

GeneralWhen Enhanced Validators failed Pin
Leela Krishna.Ch14-Dec-05 18:20
memberLeela Krishna.Ch14-Dec-05 18:20 
GeneralClientSide Scripting Pin
Kirk Quinbar27-Feb-03 5:04
memberKirk Quinbar27-Feb-03 5:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.171114.1 | Last Updated 6 Jul 2001
Article Copyright 2001 by xicoloko
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid