RegularExpressionValidator.EvaluateIsValid Method ()
.NET Framework (current version)
Indicates whether the value in the input control is valid.
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. |
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
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.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 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 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>
.NET Framework
Available since 1.1
Available since 1.1
Show:
