Compartir vía


RequiredFieldValidator.EvaluateIsValid Método

Definición

Se llama durante la fase de validación cuando ASP.NET procesa un formulario Web Forms.

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

Devoluciones

Boolean

true si el valor del control de entrada es válido; de lo contrario, false.

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el EvaluateIsValid método en un control de servidor personalizado para que siempre devuelva false si el valor de RequiredFieldValidator es null o está vacío y siempre devuelve true lo contrario.

<%@ 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"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Custom RequiredFieldValidator - EvaluateIsValid - C# Example</title>
    <script runat="server">
      void Button1_Click(Object sender, EventArgs e) 
      {
        if (Page.IsValid) 
        {
          Label1.Text = "Required field is filled!";
        }
        else 
        {
          Label1.Text = "Required field is empty!";
        }
      }
    </script>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">
      <h3>Custom RequiredFieldValidator - EvaluateIsValid - C# Example</h3>

      <table border="0" cellpadding="4" cellspacing="0">
        <tr valign="top">
          <td colspan="3">
            <asp:Label ID="Label1" runat="server" Text="Fill in the required field below" />
          </td>
        </tr>
        <tr>
          <td align="right">Card Number:</td>
          <td>
            <asp:TextBox id="TextBox1" runat="server" />
          </td>
          <td>
            <aspSample:CustomRequiredFieldValidatorEvaluateIsValid 
              id="RequiredFieldValidator1" 
              runat="server" 
              ControlToValidate="TextBox1" 
              Display="Static" 
              ErrorMessage="*" />
          </td>
        </tr>
        <tr>
          <td> </td>
          <td>
            <asp:Button 
              id="Button1" 
              runat="server" 
              Text="Validate" 
              OnClick="Button1_Click" />
          </td>
          <td> </td>
        </tr>
      </table>

    </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 RequiredFieldValidator - EvaluateIsValid - VB.NET Example</title>
        <script runat="server">
            Sub Button1_Click(sender As Object, e As EventArgs) 
            
                If Page.IsValid Then 
                
                    Label1.Text = "Required field is filled!"
                
                Else 
                
                    Label1.Text = "Required field is empty!"
                
                End If

            End Sub
        </script>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom RequiredFieldValidator - EvaluateIsValid - VB.NET Example</h3>

            <table border="0" cellpadding="4" cellspacing="0">
                <tr valign="top">
                    <td colspan="3">
                        <asp:Label ID="Label1" runat="server" 
                         Text="Fill in the required field below" />
                    </td>
                </tr>
                <tr>
                    <td align="right">Card Number:</td>
                    <td>
                        <asp:TextBox id="TextBox1" runat="server" />
                    </td>
                    <td>
                        <aspSample:CustomRequiredFieldValidatorEvaluateIsValid id="RequiredFieldValidator1" 
                         runat="server" ControlToValidate="TextBox1" Display="Static" ErrorMessage="*" />
                    </td>
                </tr>
                <tr>
                    <td> </td>
                    <td>
                        <asp:Button id="Button1" runat="server" Text="Validate" 
                         OnClick="Button1_Click" />
                    </td>
                    <td> </td>
                </tr>
            </table>

        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomRequiredFieldValidatorEvaluateIsValid : System.Web.UI.WebControls.RequiredFieldValidator
  {
    protected override bool EvaluateIsValid()
    {
      // Get the ControlToValidate's value.
      string controlValue = GetControlValidationValue(ControlToValidate);

      // If ControlToValidate's value is null or empty, then return false.
      if ((controlValue == null) || (controlValue.Trim().Equals(System.String.Empty)))
      {
        return false;
      }
      // Else the control contains a value so return true.
      else
      {
        return true;
      }
    }                
  }
}
Imports System.Web
Imports System.Security.Permissions

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

        Protected Overrides Function EvaluateIsValid() As Boolean

            ' Get the ControlToValidate's value.
            Dim controlValue As String = GetControlValidationValue(ControlToValidate)

            ' If ControlToValidate's value is null or empty, then return false.
            If controlValue Is Nothing OrElse controlValue.Trim().Equals(System.String.Empty) Then
                Return False
            Else  ' Else the control contains a value so return true.
                Return True
            End If
        End Function
    End Class
End Namespace

Se aplica a