ValidationRule 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供一種建立自訂規則以檢查使用者輸入有效性的方法。
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) |
當在派生類別中覆寫時,會對一個值進行驗證檢查。 |