Jasinski Technical Wiki

Navigation

Home Page
Index
All Pages

Quick Search
»
Advanced Search »

Contributor Links

Create a new Page
Administration
File Management
Login/Logout
Your Profile

Other Wiki Sections

Software

PoweredBy

RegularExpressionValidator Class - ASP.NET

RSS
Modified on Tue, Sep 15, 2009, 11:53 AM by Administrator Categorized as ASP·NET Web Forms, Class Library
This page is part of the Class Library Pages collection.
Click the icon to see the index.

Features

Provides standardized regular-expression-based validation across a website.

Sample Implementation

To use this control, you need to follow the instructions in the Consuming Custom Controls in ASP.NET article.

ASPX Markup

<abc:RegularExpressionValidator runat="server"
    ControlToValidate="uxRequestorEmailTextBox" 
    Entity="Requestor's Email" 
    Type="EmailAddress"
    />

Source Code

VB.NET

Imports Microsoft.VisualBasic
Imports System.Web.UI.WebControls

Namespace AcmeBroomCompany

    Public Enum RegExFieldType
        NotSet
        PhoneNumber
        EmailAddress
        'SocialSecurityNumber
        'DateMmDdYyyy
    End Enum

    Public Class RegularExpressionValidator

        Inherits System.Web.UI.WebControls.RegularExpressionValidator

        Private _type As RegExFieldType
        Private _entity As String
        Public Sub New()

            Display = ValidatorDisplay.Dynamic
            EnableClientScript = True
            SetFocusOnError = True
            Text = ""

            Dim img As Image = New Image()
            img.ImageUrl = "~/images/Exclamation.png"
            Me.Controls.Add(img)

            _entity = ""

        End Sub

        Public Property Entity() As String
            Get
                Return _entity
            End Get
            Set(ByVal value As String)
                _entity = value
                UpdateErrorMessage()
            End Set
        End Property
        Public Property Type() As RegExFieldType
            Get
                Return _type
            End Get
            Set(ByVal value As RegExFieldType)
                _type = value
                UpdateErrorMessage()
                UpdateRegEx()
            End Set
        End Property

        Private Sub UpdateRegEx()

            Dim s As String = ""

            Select Case _type
                Case RegExFieldType.PhoneNumber
                    s = "^[2-9]\d{2}\-\d{3}\-\d{4}$"
                Case RegExFieldType.EmailAddress
                    s = "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}"
                'Case RegExFieldType.DateMmDdYyyy
                'Case RegExFieldType.SocialSecurityNumber
            End Select

            Me.ValidationExpression = s

        End Sub

        Private Sub UpdateErrorMessage()

            Dim entityType As String = ""


            Select Case _type
                Case RegExFieldType.PhoneNumber
                    entityType = "phone number"
                Case RegExFieldType.EmailAddress
                    entityType = "email address"
            End Select

            If entityType.Length = 0 Then
                ErrorMessage = _entity & " is an invalid form for the field."
            Else
                ErrorMessage = _entity & " must be a valid " + entityType & "."
            End If


        End Sub

    End Class

End Namespace

C#

TODO

ScrewTurn Wiki version 3.0.1.400. Some of the icons created by FamFamFam. Except where noted, all contents Copyright © 1999-2018, Patrick Jasinski.