RegularExpressionValidator.EvaluateIsValid Method
.NET Framework 3.0
Indicates whether the value in the input control is valid.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Assembly: System.Web (in system.web.dll)
The following code example demonstrates how to override the EvaluateIsValid method in a custom server control so that it always checks the value against the expression for a match in a RegularExpressionValidator.
Security Note: |
|---|
| This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview (Visual Studio). |
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
The following code example demonstrates how to use the CustomRegularExpressionValidatorEvaluateIsValid control, defined in the preceding example, on a Web Forms page.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" 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 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 style="background-color:#eeeeee; padding: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>
Community Additions
ADD
Show:
Security Note: