CustomValidator.ControlPropertiesValid Method

Definition

Checks the properties of the control for valid values.

protected override bool ControlPropertiesValid();

Returns

true if the control properties are valid; otherwise, false.

Examples

The following code example demonstrates how to override the ControlPropertiesValid method in a custom server control so that it always returns the value of the visible property, as long as the ControlToValidate property of the CustomValidator control is on the page and contains validation properties.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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>
    <title>Custom CustomValidator - ControlPropertiesValid - C# Example</title>
    <script runat="server">
    void CustomValidator1_ServerValidate(Object source, ServerValidateEventArgs args) 
    {
      try 
      {
        // Test whether the value entered into the text box is even.
        int i = int.Parse(args.Value);
        args.IsValid = ((i%2) == 0);
      }
      catch(Exception ex)
      {
        args.IsValid = false;
      }
    }
    </script>
  </head>
<body>
  <form id="Form1" method="post" runat="server">
    <h3>Custom CustomValidator - ControlPropertiesValid - C# Example</h3>
    
    <asp:Label id="Label1" runat="server" Text="Enter an even number:" AssociatedControlID="TextBox1" /><br />
    
    <asp:TextBox id="TextBox1" runat="server" /> 
    
    <aspSample:CustomCustomValidatorControlPropertiesValid 
      id="Customvalidator1" 
      runat="server" 
      ControlToValidate="TextBox1" 
      Display="Static" 
      ErrorMessage="Not an even number!" 
      OnServerValidate="CustomValidator1_ServerValidate" /><br /><br />
    
    <asp:Button id="Button1" runat="server" Text="Validate" />
  </form>
</body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomCustomValidatorControlPropertiesValid : System.Web.UI.WebControls.CustomValidator
    {
        protected override bool ControlPropertiesValid()
        {
            string controlToValidate = this.ControlToValidate;

            // Determine whether the ControlToValidate is on the page 
            // and contains a valid validation property. 
            if (controlToValidate.Length > 0) 
            {
            base.CheckControlValidationProperty(controlToValidate, "ControlToValidate");
            }

            // If the control is visible, then control is valid 
            // and is ready for validation.
            System.Web.UI.Control control = this.FindControl(controlToValidate);
            return control.Visible;
        }
    }
}

Applies to

Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1