RequiredFieldValidator.EvaluateIsValid Méthode

Définition

Appelée pendant l’étape de validation quand ASP.NET traite un Web Form.

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

Retours

true si la valeur dans le contrôle d’entrée est valide ; sinon, false.

Exemples

L’exemple de code suivant montre comment remplacer la EvaluateIsValid méthode dans un contrôle serveur personnalisé afin qu’elle retourne false toujours si la valeur de est null ou vide, et retourne toujours true dans le RequiredFieldValidator cas contraire.

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

S’applique à