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 值。
如需資料驗證的詳細資訊,請參閱 資料系結概觀。
如需如何在對話方塊中驗證使用者提供之資料的資訊,請參閱 對話方塊概觀。
建構函式
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) |
在值上執行驗證檢查。 |