Comparteix a través de


CustomValidator.ControlPropertiesValid Método

Definición

Comprueba las propiedades del control para valores válidos.

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

Devoluciones

Boolean

true si las propiedades del control son válidas; de lo contrario, false.

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el ControlPropertiesValid método en un control de servidor personalizado para que siempre devuelva el valor de la propiedad visible, siempre que la ControlToValidate propiedad del CustomValidator control esté en la página y contenga propiedades de validación.

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

Se aplica a