RegularExpressionValidator.EvaluateIsValid-Methode
Gibt an, ob der Wert im Eingabesteuerelement gültig ist.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Protected Overrides Function EvaluateIsValid As Boolean
'Usage
Dim returnValue As Boolean
returnValue = Me.EvaluateIsValid
protected override bool EvaluateIsValid ()
protected:
virtual bool EvaluateIsValid () override
protected boolean EvaluateIsValid ()
protected override function EvaluateIsValid () : boolean
Rückgabewert
true, wenn der Wert im Eingabesteuerelement gültig ist, andernfalls false.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie die EvaluateIsValid-Methode in einem benutzerdefinierten Serversteuerelement überschrieben wird, sodass es den Wert immer auf einen Ausdruck für eine Übereinstimmung in einem RegularExpressionValidator prüft.
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomRegularExpressionValidatorEvaluateIsValid
Inherits System.Web.UI.WebControls.RegularExpressionValidator
Protected Overrides Function EvaluateIsValid() As Boolean
' Get the control to validate's validation value
Dim controlValue As String = GetControlValidationValue(Me.ControlToValidate)
' If the value is null or empty, then return true
If controlValue Is Nothing OrElse controlValue.Trim().Length = 0 Then
Return True
Else
' Else try running the Regular Expression against the value
' and see if there is a match.
Try
Dim regExpMatch As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(controlValue, Me.ValidationExpression)
Return regExpMatch.Success AndAlso regExpMatch.Index = 0 AndAlso regExpMatch.Length = controlValue.Length
Catch
Return True
End Try
End If
End Function
End Class
End Namespace
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomRegularExpressionValidatorEvaluateIsValid : System.Web.UI.WebControls.RegularExpressionValidator
{
protected override bool EvaluateIsValid()
{
// Get the control to validate's validation value
string controlValue = GetControlValidationValue(this.ControlToValidate);
// If the value is null or empty, then return true
if (controlValue == null || controlValue.Trim().Length == 0)
{
return true;
}
else
{
// Else try running the Regular Expression against the value
// and see if there is a match.
try
{
System.Text.RegularExpressions.Match regExpMatch = System.Text.RegularExpressions.Regex.Match(controlValue, this.ValidationExpression);
return(regExpMatch.Success && regExpMatch.Index == 0 && regExpMatch.Length == controlValue.Length);
}
catch
{
return true;
}
}
}
}
}
package Samples.AspNet.JSL.Controls;
public class CustomRegularExpressionValidatorEvaluateIsValid
extends System.Web.UI.WebControls.RegularExpressionValidator
{
protected boolean EvaluateIsValid()
{
// Get the control to validate's validation value
String controlValue = GetControlValidationValue(this.
get_ControlToValidate());
// If the value is null or empty, then return true
if (controlValue == null || controlValue.Trim().get_Length() == 0) {
return true;
}
else {
// Else try running the Regular Expression against the value
// and see if there is a match.
try {
System.Text.RegularExpressions.Match regExpMatch
= System.Text.RegularExpressions.Regex.Match(controlValue,
this.get_ValidationExpression());
return regExpMatch.get_Success()
&& regExpMatch.get_Index() == 0
&& regExpMatch.get_Length() == controlValue.get_Length();
}
catch (System.Exception exp) {
return true;
}
}
} //EvaluateIsValid
} //CustomRegularExpressionValidatorEvaluateIsValid
Im folgenden Codebeispiel wird veranschaulicht, wie das im vorhergehenden Beispiel definierte CustomRegularExpressionValidatorEvaluateIsValid
-Steuerelement auf einer Web Forms-Seite angewendet wird.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<HTML>
<HEAD>
<title>Custom RegularExpressionValidator - EvaluateIsValid - VB.NET Example</title>
<script runat="server">
Sub Button1_Click(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 RegularExpressionValidator - EvaluateIsValid - VB.NET Example</h3>
<table bgcolor="#eeeeee" cellpadding="10">
<tr valign="top">
<td colspan="3">
<asp:Label ID="Label1"
Text="Enter a 5 digit zip code"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="3">
<b>Personal Information</b>
</td>
</tr>
<tr>
<td align="right">
Zip Code:
</td>
<td>
<asp:TextBox id="TextBox1" runat="server"/>
</td>
<td>
<aspSample:CustomRegularExpressionValidatorEvaluateIsValid
id="Regularexpressionvalidator1"
runat="server"
ControlToValidate="TextBox1"
ValidationExpression="\d{5}"
ErrorMessage="Zip code must be 5 numeric digits"
Display="Static"
EnableClientScript="False" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:Button text="Button1"
OnClick="Button1_Click"
runat=server ID="Button1"/>
</td>
<td></td>
</tr>
</table>
</form>
</body>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<HTML>
<HEAD>
<title>Custom RegularExpressionValidator - EvaluateIsValid - C# Example</title>
<script runat="server">
void Button1_Click(Object sender, EventArgs e)
{
if (Page.IsValid)
{
Label1.Text = "Page is valid.";
}
else
{
Label1.Text = "Page is invalid!";
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom RegularExpressionValidator - EvaluateIsValid - C# Example</h3>
<table bgcolor="#eeeeee" cellpadding="10">
<tr valign="top">
<td colspan="3">
<asp:Label ID="Label1"
Text="Enter a 5 digit zip code"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="3">
<b>Personal Information</b>
</td>
</tr>
<tr>
<td align="right">
Zip Code:
</td>
<td>
<asp:TextBox id="TextBox1" runat="server"/>
</td>
<td>
<aspSample:CustomRegularExpressionValidatorEvaluateIsValid
id="Regularexpressionvalidator1"
runat="server"
ControlToValidate="TextBox1"
ValidationExpression="\d{5}"
ErrorMessage="Zip code must be 5 numeric digits"
Display="Static"
EnableClientScript="False" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:Button text="Button1"
OnClick="Button1_Click"
runat=server ID="Button1"/>
</td>
<td></td>
</tr>
</table>
</form>
</body>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" AutoEventWireup="True" %>
<HTML>
<HEAD>
<title>Custom RegularExpressionValidator - EvaluateIsValid - VJ# Example</title>
<script runat="server">
void Button1_Click(Object sender, EventArgs e)
{
if (get_Page().get_IsValid()) {
Label1.set_Text("Page is valid.");
}
else {
Label1.set_Text("Page is invalid!");
}
} //Button1_Click
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom RegularExpressionValidator - EvaluateIsValid - VJ# Example</h3>
<table bgcolor="#eeeeee" cellpadding="10">
<tr valign="top">
<td colspan="3">
<asp:Label ID="Label1"
Text="Enter a 5 digit zip code"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="3">
<b>Personal Information</b>
</td>
</tr>
<tr>
<td align="right">
Zip Code:
</td>
<td>
<asp:TextBox id="TextBox1" runat="server"/>
</td>
<td>
<aspSample:CustomRegularExpressionValidatorEvaluateIsValid
id="Regularexpressionvalidator1"
runat="server"
ControlToValidate="TextBox1"
ValidationExpression="\d{5}"
ErrorMessage="Zip code must be 5 numeric digits"
Display="Static"
EnableClientScript="False" />
</td>
</tr>
<tr>
<td></td>
<td>
<asp:Button text="Button1"
OnClick="Button1_Click"
runat=server ID="Button1"/>
</td>
<td></td>
</tr>
</table>
</form>
</body>
</HTML>
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
RegularExpressionValidator-Klasse
RegularExpressionValidator-Member
System.Web.UI.WebControls-Namespace