ValidationRule.Validate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在值上執行驗證檢查。
多載
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 已針對系結定義,引擎會在每個 ValidationRule 上呼叫 Validate 方法,直到其中一個找到錯誤,或直到所有方法通過為止。
如需資料驗證的詳細資訊,請參閱 資料系結概觀。
另請參閱
適用於
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 物件。