RangeValidator.EvaluateIsValid Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, допустимо ли содержимое элемента управления для ввода данных.
protected:
override bool EvaluateIsValid();
protected override bool EvaluateIsValid ();
override this.EvaluateIsValid : unit -> bool
Protected Overrides Function EvaluateIsValid () As Boolean
Значение true
, если элемент управления является допустимым; в противном случае — значение false
.
В следующем примере кода показано, как переопределить EvaluateIsValid метод в пользовательском серверном элементе управления, чтобы он всегда проверял, существует ли значение и находится в пределах максимального и минимального значений, указанных для RangeValidatorданного элемента управления.
<%@ 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 RangeValidator - EvaluateIsValid - C# Example</title>
<script runat="server">
void ButtonClick(Object sender, EventArgs e)
{
if (Page.IsValid)
{
Label1.Text="Page is valid.";
}
else
{
Label1.Text="Page is not valid!!";
}
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom RangeValidator - EvaluateIsValid - C# Example</h3>
Enter a number from 1 to 10:<br />
<asp:TextBox id="TextBox1" Runat="server" />
<aspSample:CustomRangeValidatorEvaluateIsValid
id="RangeValidator1"
runat="server"
ControlToValidate="TextBox1"
MinimumValue="1"
MaximumValue="10"
Type="Integer"
EnableClientScript="false"
Text="The value must be from 1 to 10!" />
<br />
<br />
<asp:Button id="Button1" Text="Submit" OnClick="ButtonClick" runat="server" /><br />
<br />
<asp:Label id="Label1" runat="server" />
</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 RangeValidator - EvaluateIsValid - VB.NET Example</title>
<script runat="server">
Sub ButtonClick(sender As Object, e As EventArgs)
If Page.IsValid Then
Label1.Text="Page is valid."
Else
Label1.Text="Page is not valid!"
End If
End Sub
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom RangeValidator - EvaluateIsValid - VB.NET Example</h3>
Enter a number from 1 to 10:<br />
<asp:TextBox id="TextBox1" Runat="server" />
<aspSample:CustomRangeValidatorEvaluateIsValid id="RangeValidator1" runat="server"
ControlToValidate="TextBox1" MinimumValue="1" MaximumValue="10" Type="Integer"
EnableClientScript="false" Text="The value must be from 1 to 10!" /><br />
<br />
<asp:Button id="Button1" Text="Submit" OnClick="ButtonClick" runat="server" /><br />
<br />
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomRangeValidatorEvaluateIsValid : System.Web.UI.WebControls.RangeValidator
{
protected override bool EvaluateIsValid()
{
// Get the value of the control to validate.
string controlValue = GetControlValidationValue(ControlToValidate);
// If no value was entered, show the validation error by returning false.
if (controlValue.Trim().Length == 0)
{
return false;
}
// Compare the ControlToValidate's value against the minimum and maximum values.
return(Compare(controlValue, this.MinimumValue, System.Web.UI.WebControls.ValidationCompareOperator.GreaterThanEqual, this.Type) &&
Compare(controlValue, this.MaximumValue, System.Web.UI.WebControls.ValidationCompareOperator.LessThanEqual, this.Type));
}
}
}
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomRangeValidatorEvaluateIsValid
Inherits System.Web.UI.WebControls.RangeValidator
Protected Overrides Function EvaluateIsValid() As Boolean
' Get the value of the control to validate.
Dim controlValue As String = GetControlValidationValue(ControlToValidate)
' If no value was entered, show the validation error by returning false.
If controlValue.Trim().Length = 0 Then
Return False
End If
' Compare the ControlToValidate's value against the minimum and maximum values.
Return Compare(controlValue, Me.MinimumValue, System.Web.UI.WebControls.ValidationCompareOperator.GreaterThanEqual, Me.Type) AndAlso _
Compare(controlValue, Me.MaximumValue, System.Web.UI.WebControls.ValidationCompareOperator.LessThanEqual, Me.Type)
End Function
End Class
End Namespace