CustomValidator.EvaluateIsValid Метод

Определение

Переопределяет метод EvaluateIsValid().

protected override bool EvaluateIsValid ();

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

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

Примеры

В следующем примере кода показано, как переопределить EvaluateIsValid метод в пользовательском серверном элементе управления.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

<%@ 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 CustomValidator - EvaluateIsValid - C# Example</title>
  </head>
<body>
  <form id="Form1" method="post" runat="server">
    <h3>Custom CustomValidator - EvaluateIsValid - C# Example</h3>

    <asp:Label id="Label1" runat="server" Text="Enter an even number:"
      AssociatedControlID="TextBox1" /><br />

    <asp:TextBox id="TextBox1" runat="server" /> 

    <aspSample:CustomCustomValidatorEvaluateIsValid
      id="Customvalidator1"
      runat="server"
      ControlToValidate="TextBox1"
      Display="Static"
      ErrorMessage="Not an even number!" /><br /><br />

    <asp:Button id="Button1" runat="server" Text="Validate" />

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

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomCustomValidatorEvaluateIsValid : System.Web.UI.WebControls.CustomValidator
    {
        protected override bool EvaluateIsValid()
        {
            bool isValid = false;
            
            // Get the name of the control to validate.
            string controlToValidate = this.ControlToValidate;
            if (controlToValidate.Length > 0) 
            {
            // Get the control's value.
            string controlValue = GetControlValidationValue(controlToValidate);

            // If the value is not null and not empty, test whether 
            // check if the value entered into the text box is even,
            // if so return true, else return false in all other cases.
            if ((controlValue != null) && (!controlValue.Trim().Equals(System.String.Empty)))
            {
                try 
                {
                int i = int.Parse(controlValue);
                isValid = ((i%2) == 0);
                }
                catch
                {}
            }  
            } 
            return isValid;   
        }
    }
}

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

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1