Partager via


CustomValidator.ControlPropertiesValid Méthode

Définition

Vérifie que les propriétés du contrôle contiennent des valeurs valides.

protected:
 override bool ControlPropertiesValid();
protected override bool ControlPropertiesValid ();
override this.ControlPropertiesValid : unit -> bool
Protected Overrides Function ControlPropertiesValid () As Boolean

Retours

true si les propriétés du contrôle sont valides ; sinon, false.

Exemples

L’exemple de code suivant montre comment remplacer la ControlPropertiesValid méthode dans un contrôle serveur personnalisé afin qu’elle retourne toujours la valeur de la propriété visible, tant que la ControlToValidate propriété du contrôle se trouve sur la page et contient des propriétés de CustomValidator validation.

<%@ 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>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" 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 - VB.NET Example</title>
    <script runat="server">
      Sub CustomValidator1_ServerValidate(source As Object, args As ServerValidateEventArgs)
        args.IsValid = False
        Try
          ' Test whether the value entered into the text box is even or not.
          Dim i As Integer = Integer.Parse(args.Value)
          If (i Mod 2) = 0 Then
            args.IsValid = True
          End If
        Catch
        End Try
      End Sub
    </script>
  </head>
  <body>
  <form id="Form1" method="post" runat="server">
    <h3>Custom CustomValidator - ControlPropertiesValid - VB.NET 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;
        }
    }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomCustomValidatorControlPropertiesValid
        Inherits System.Web.UI.WebControls.CustomValidator

        Protected Overrides Function ControlPropertiesValid() As Boolean
            Dim controlToValidate As String = Me.ControlToValidate

            ' Determine whether the ControlToValidate is on the page 
            ' and contains a valid validation property. 
            If controlToValidate.Length > 0 Then
                MyBase.CheckControlValidationProperty(controlToValidate, "ControlToValidate")
            End If

            ' If the control is visible, then control is valid 
            ' and is ready for validation.
            Dim control As System.Web.UI.Control = Me.FindControl(controlToValidate)
            If control.Visible = True Then
                Return True
            Else
                Return False
            End If
        End Function
    End Class
End Namespace

S’applique à