RegularExpressionAttribute 類別

定義

指定 ASP.NET Dynamic Data 中的資料欄位值必須符合指定的規則運算式 (Regular Expression)。

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)

將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。

(繼承來源 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

擷取物件的類型資訊,可以用來取得介面的類型資訊。

(繼承來源 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

擷取物件提供的類型資訊介面數目 (0 或 1)。

(繼承來源 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供物件所公開的屬性和方法的存取權。

(繼承來源 Attribute)

適用於