Поделиться через


RequiredFieldValidator.EvaluateIsValid Метод

Определение

Вызывается на этапе проверки, когда ASP.NET обрабатывает веб-форму.

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

Возвращаемое значение

true, если значение во входном элементе управления является допустимым; в противном случае — false.

Примеры

В следующем примере кода показано, как переопределить EvaluateIsValid метод в пользовательском серверном элементе управления, чтобы он всегда возвращал false значение RequiredFieldValidator null или пусто, и всегда возвращал в true противном случае.

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

Применяется к