CustomValidator.EvaluateIsValid Method ()


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

This API supports the product infrastructure and is not intended to be used directly from your code.

Overrides the BaseValidator.EvaluateIsValid method.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

protected override bool EvaluateIsValid()

Return Value

Type: System.Boolean

true if the value in the input control is valid; otherwise, false.

The following code example demonstrates how to override the EvaluateIsValid method in a custom server control.

System_CAPS_security Security Note

This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" >
    <title>Custom CustomValidator - EvaluateIsValid - C# Example</title>
  <form id="Form1" method="post" runat="server">
    <h3>Custom CustomValidator - EvaluateIsValid - C# Example</h3>

    <asp:Label id="Label1" runat="server" Text="Enter an even number:"
      AssociatedControlID="TextBox1" /><br />

    <asp:TextBox id="TextBox1" runat="server" />&nbsp;

      ErrorMessage="Not an even number!" /><br /><br />

    <asp:Button id="Button1" runat="server" Text="Validate" />

using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomCustomValidatorEvaluateIsValid : System.Web.UI.WebControls.CustomValidator
        protected override bool EvaluateIsValid()
            bool isValid = false;

            // Get the name of the control to validate.
            string controlToValidate = this.ControlToValidate;
            if (controlToValidate.Length > 0) 
            // Get the control's value.
            string controlValue = GetControlValidationValue(controlToValidate);

            // If the value is not null and not empty, test whether 
            // check if the value entered into the text box is even,
            // if so return true, else return false in all other cases.
            if ((controlValue != null) && (!controlValue.Trim().Equals(System.String.Empty)))
                int i = int.Parse(controlValue);
                isValid = ((i%2) == 0);
            return isValid;   

.NET Framework
Available since 1.1
Return to top