RegularExpressionAttribute 类

定义

指定 ASP.NET 动态数据中的数据字段值必须与指定的正则表达式匹配。

public ref class RegularExpressionAttribute : System::ComponentModel::DataAnnotations::ValidationAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false)]
public class RegularExpressionAttribute : System.ComponentModel.DataAnnotations.ValidationAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)]
public class RegularExpressionAttribute : System.ComponentModel.DataAnnotations.ValidationAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false)>]
type RegularExpressionAttribute = class
    inherit ValidationAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false)>]
type RegularExpressionAttribute = class
    inherit ValidationAttribute
Public Class RegularExpressionAttribute
Inherits ValidationAttribute
继承
RegularExpressionAttribute
属性

示例

以下示例演示如何使用 RegularExpressionAttribute 属性验证 FirstName 和 LastName 数据字段。 正则表达式最多允许 40 个大写和小写字符。 该示例执行以下任务:

  • 实现元数据分部类和关联的元数据类。

  • 在关联的元数据类中, 将 属性应用于 RegularExpressionAttribute FirstName 和 LastName 数据字段,并指定模式和自定义错误消息。

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

[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{
}

public class CustomerMetaData
{
   
    // Allow up to 40 uppercase and lowercase 
    // characters. Use custom error.
    [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$", 
         ErrorMessage = "Characters are not allowed.")]
    public object FirstName;

    // Allow up to 40 uppercase and lowercase 
    // characters. Use standard error.
    [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")]
    public object LastName;
}
Imports System.Web.DynamicData
Imports System.ComponentModel.DataAnnotations


<MetadataType(GetType(CustomerMetaData))> _
Partial Public Class Customer

    
End Class

Public Class CustomerMetaData
    
    ' Allow up to 40 uppercase and lowercase 
    ' characters. Use custom error.
    <RegularExpression("^[a-zA-Z''-'\s]{1,40}$", _
                       ErrorMessage:="Characters are not allowed.")> _
    Public FirstName As Object

    ' Allow up to 40 uppercase and lowercase 
    ' characters. Use standard error.
    <RegularExpression("^[a-zA-Z''-'\s]{1,40}$")> _
    Public LastName As Object
End Class

注解

在需要针对正则表达式验证属性的值时,可将 RegularExpressionAttribute 特性应用于属性。 使用正则表达式可以非常精确地指定有效值的格式。 Pattern 属性包含正则表达式。 如果该属性的值为 null 或空字符串 (“”) ,则该值会自动通过 RegularExpressionAttribute 属性的验证。 若要验证该值是否不是 null 或为空字符串,请使用 RequiredAttribute 属性。

正则表达式搜索完全匹配,而不是在模式之前和$末尾使用 ^ 会生成与使用它相同的结果。 对于搜索命中,请在模式 .*前面加上并追加 。

构造函数

RegularExpressionAttribute(String)

初始化 RegularExpressionAttribute 类的新实例。

属性

ErrorMessage

获取或设置一条在验证失败的情况下与验证控件关联的错误消息。

(继承自 ValidationAttribute)
ErrorMessageResourceName

获取或设置错误消息资源的名称,在验证失败的情况下,要使用该名称来查找 ErrorMessageResourceType 属性值。

(继承自 ValidationAttribute)
ErrorMessageResourceType

获取或设置在验证失败的情况下用于查找错误消息的资源类型。

(继承自 ValidationAttribute)
ErrorMessageString

获取本地化的验证错误消息。

(继承自 ValidationAttribute)
MatchTimeout

获取匹配正则表达式模式时要使用的超时值

MatchTimeoutInMilliseconds

获取或设置用于在操作超时前执行单个匹配操作的时间量(以毫秒为单位)。

Pattern

获取正则表达式模式。

RequiresValidationContext

获取指示特性是否要求验证上下文的值。

(继承自 ValidationAttribute)
TypeId

在派生类中实现时,获取此 Attribute 的唯一标识符。

(继承自 Attribute)

方法

Equals(Object)

返回一个值,该值指示此实例是否与指定的对象相等。

(继承自 Attribute)
FormatErrorMessage(String)

对在正则表达式验证失败的情况下要显示的错误消息进行格式设置。

GetHashCode()

返回此实例的哈希代码。

(继承自 Attribute)
GetType()

获取当前实例的 Type

(继承自 Object)
GetValidationResult(Object, ValidationContext)

检查指定的值对于当前的验证特性是否有效。

(继承自 ValidationAttribute)
IsDefaultAttribute()

在派生类中重写时,指示此实例的值是否是派生类的默认值。

(继承自 Attribute)
IsValid(Object)

检查用户输入的值与正则表达式模式是否匹配。

IsValid(Object, ValidationContext)

根据当前的验证特性来验证指定的值。

(继承自 ValidationAttribute)
Match(Object)

当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。

(继承自 Attribute)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
Validate(Object, String)

验证指定的对象。

(继承自 ValidationAttribute)
Validate(Object, ValidationContext)

验证指定的对象。

(继承自 ValidationAttribute)

显式接口实现

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

将一组名称映射为对应的一组调度标识符。

(继承自 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。

(继承自 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。

(继承自 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供对某一对象公开的属性和方法的访问。

(继承自 Attribute)

适用于