共用方式為


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 屬性。

有關資料驗證的詳細資訊,請參閱 資料綁定概述

關於如何在對話框中驗證使用者提供的資料,請參閱 對話框概述

建構函式

名稱 Description
ValidationRule()

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

ValidationRule(ValidationStep, Boolean)

初始化類別的新實例 ValidationRule ,並依指定的驗證步驟初始化,並有一個值指示驗證規則在目標更新時是否執行。

屬性

名稱 Description
ValidatesOnTargetUpdated

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

ValidationStep

當驗證規則執行時,獲得或設定。

方法

名稱 Description
Equals(Object)

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

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

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

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

對某個值進行驗證檢查。

Validate(Object, CultureInfo, BindingGroup)

對某個值進行驗證檢查。

Validate(Object, CultureInfo)

當在派生類別中覆寫時,會對一個值進行驗證檢查。

適用於

另請參閱