ValidationRule.Validate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
對某個值進行驗證檢查。
多載
| 名稱 | 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 物件。