Condividi tramite


RequiredFieldValidator.EvaluateIsValid Metodo

Definizione

Chiamato durante la fase di convalida quando ASP.NET elabora un Web Form.

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

Restituisce

true se il valore nel controllo di input è valido; in caso contrario, false.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override del EvaluateIsValid metodo in un controllo server personalizzato in modo che restituisca false sempre se il valore di è null o vuoto e restituisce true sempre in caso RequiredFieldValidator 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

Si applica a