Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

RegularExpressionAttribute Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Specifies that a data field value in ASP.NET Dynamic Data must match the specified regular expression.

Namespace:   System.ComponentModel.DataAnnotations
Assembly:  System.ComponentModel.DataAnnotations (in System.ComponentModel.DataAnnotations.dll)


[AttributeUsageAttribute(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, 
	AllowMultiple = false)]
public class RegularExpressionAttribute : ValidationAttribute


Initializes a new instance of the RegularExpressionAttribute class.


Gets or sets an error message to associate with a validation control if validation fails.(Inherited from ValidationAttribute.)


Gets or sets the error message resource name to use in order to look up the ErrorMessageResourceType property value if validation fails.(Inherited from ValidationAttribute.)


Gets or sets the resource type to use for error-message lookup if validation fails.(Inherited from ValidationAttribute.)


Gets the localized validation error message.(Inherited from ValidationAttribute.)


Gets or set the amount of time in milliseconds to execute a single matching operation before the operation times out.


Gets the regular expression pattern.


Gets a value that indicates whether the attribute requires validation context.(Inherited from ValidationAttribute.)


When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)


This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Formats the error message to display if the regular expression validation fails.(Overrides ValidationAttribute.FormatErrorMessage(String).)


Returns the hash code for this instance.(Inherited from Attribute.)


Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodGetValidationResult(Object, ValidationContext)

Checks whether the specified value is valid with respect to the current validation attribute.(Inherited from ValidationAttribute.)


When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.)


Checks whether the value entered by the user matches the regular expression pattern. (Overrides ValidationAttribute.IsValid(Object).)

System_CAPS_protmethodIsValid(Object, ValidationContext)

Validates the specified value with respect to the current validation attribute.(Inherited from ValidationAttribute.)


When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodValidate(Object, String)

Validates the specified object.(Inherited from ValidationAttribute.)

System_CAPS_pubmethodValidate(Object, ValidationContext)

Validates the specified object.(Inherited from ValidationAttribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)


Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.(Inherited from Attribute.)

You apply the RegularExpressionAttribute attribute to a property when you need to validate values for the property against a regular expression. The regular expression enables you to specify very precisely the format of valid values. The Pattern property contains the regular expression.If the value of the property is null or an empty string (""), the value automatically passes validation for the RegularExpressionAttribute attribute. To validate that the value is not null or an empty string, use the RequiredAttribute attribute.

The following example shows how to use the RegularExpressionAttribute attribute to validate the FirstName and LastName data fields. The regular expression allows up to 40 uppercase and lowercase characters. The example performs the following tasks:

  • Implements a metadata partial class and the associated metadata class.

  • In the associated metadata class, applies the RegularExpressionAttribute attribute to the FirstName and LastName data fields, specifying the pattern and custom error messages.

using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;

public partial class Customer


public class CustomerMetaData

    // Allow up to 40 uppercase and lowercase 
    // characters. Use custom error.
         ErrorMessage = "Characters are not allowed.")]
    public object FirstName;

    // Allow up to 40 uppercase and lowercase 
    // characters. Use standard error.
    public object LastName;

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 3.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
© 2018 Microsoft