Condividi tramite


CustomValidator.ControlPropertiesValid Metodo

Definizione

Verifica la validità dei valori delle proprietà del controllo.

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

Restituisce

true se le proprietà del controllo sono valide; in caso contrario, false.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override del ControlPropertiesValid metodo in un controllo server personalizzato in modo che restituisca sempre il valore della proprietà visibile, purché la ControlToValidate proprietà del CustomValidator controllo si trova nella pagina e contenga proprietà di convalida.

<%@ 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

Si applica a