ValidationRule 類別

定義

提供方法來建立自訂規則,以檢查使用者輸入的有效性。

public ref class ValidationRule abstract
public abstract class ValidationRule
type ValidationRule = class
Public MustInherit Class ValidationRule
繼承
ValidationRule
衍生

範例

下列範例示範如何實作驗證規則。 如果輸入值包含非數值字元,或超出下限和上限,則輸入值無效。 如果傳 ValidationResult 回的值無效,屬性 ErrorContent 會設定為適當的錯誤訊息, IsValid 而 屬性會設定為 false

如需完整範例,請參閱 如何:實作系結驗證

public class AgeRangeRule : ValidationRule
{
    public int Min { get; set; }
    public int Max { get; set; }
    
    public AgeRangeRule()
    {
    }

    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
    {
        int age = 0;

        try
        {
            if (((string)value).Length > 0)
                age = Int32.Parse((String)value);
        }
        catch (Exception e)
        {
            return new ValidationResult(false, $"Illegal characters or {e.Message}");
        }

        if ((age < Min) || (age > Max))
        {
            return new ValidationResult(false,
              $"Please enter an age in the range: {Min}-{Max}.");
        }
        return ValidationResult.ValidResult;
    }
}

備註

當您使用 WPF 資料系結模型時,可以與系結物件產生關聯 ValidationRules 。 若要建立自訂規則,請建立這個類別的子類別,並實作 Validate 方法。 選擇性地使用內 ExceptionValidationRule 建 ,它會攔截來源更新期間擲回的例外狀況,或 DataErrorValidationRule ,它會檢查來源物件的實作所 IDataErrorInfo 引發的錯誤。

系結引擎會在每次將系結目標屬性值傳送至系結來源屬性時,檢查與系結相關聯的每個 ValidationRule 值。

如需資料驗證的詳細資訊,請參閱 資料系結概觀

如需如何在對話方塊中驗證使用者提供之資料的資訊,請參閱 對話方塊概觀

建構函式

ValidationRule()

初始化 ValidationRule 類別的新執行個體。

ValidationRule(ValidationStep, Boolean)

使用指定的驗證步驟以及表示目標更新時是否執行驗證規則的值,初始化 ValidationRule 類別的新執行個體。

屬性

ValidatesOnTargetUpdated

取得或設定值,這個值表示是否在 Binding 的目標更新值執行驗證規則。

ValidationStep

取得或設定執行驗證規則的時機。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
Validate(Object, CultureInfo)

在衍生類別中覆寫時,會在值上執行驗證檢查。

Validate(Object, CultureInfo, BindingExpressionBase)

在值上執行驗證檢查。

Validate(Object, CultureInfo, BindingGroup)

在值上執行驗證檢查。

適用於

另請參閱