共用方式為


ValidationRule.Validate 方法

定義

對某個值進行驗證檢查。

多載

名稱 Description
Validate(Object, CultureInfo)

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

Validate(Object, CultureInfo, BindingExpressionBase)

對某個值進行驗證檢查。

Validate(Object, CultureInfo, BindingGroup)

對某個值進行驗證檢查。

Validate(Object, CultureInfo)

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

public:
 abstract System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo);
public abstract System.Windows.Controls.ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo);
abstract member Validate : obj * System.Globalization.CultureInfo -> System.Windows.Controls.ValidationResult
Public MustOverride Function Validate (value As Object, cultureInfo As CultureInfo) As ValidationResult

參數

value
Object

要檢查綁定目標的值。

cultureInfo
CultureInfo

這條規則中應該使用的文化。

傳回

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;
    }
}

備註

當你建立該類別的子類別 ValidationRule 時,必須實作此方法,以建立自訂的驗證規則。

每次資料綁定引擎將綁定目標屬性(使用者輸入)的值轉移到綁定來源屬性(底層資料)時,會檢查該綁定是否有 ValidationRules 定義。 若 ValidationRules 定義為綁定,引擎會呼叫 Validate 每個 ValidationRule 方法,直到其中一人發現錯誤或全部通過為止。

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

另請參閱

適用於

Validate(Object, CultureInfo, BindingExpressionBase)

對某個值進行驗證檢查。

public:
 virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingExpressionBase ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingExpressionBase owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingExpressionBase) As ValidationResult

參數

value
Object

要檢查綁定目標的值。

cultureInfo
CultureInfo

這條規則中應該使用的文化。

owner
BindingExpressionBase

使用驗證規則的具約束力表達式。

傳回

ValidationResult 物件。

適用於

Validate(Object, CultureInfo, BindingGroup)

對某個值進行驗證檢查。

public:
 virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingGroup ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingGroup owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingGroup) As ValidationResult

參數

value
Object

要檢查綁定目標的值。

cultureInfo
CultureInfo

這條規則中應該使用的文化。

owner
BindingGroup

使用驗證規則的綁定群組。

傳回

ValidationResult 物件。

適用於