次の方法で共有


ValidationRule.Validate メソッド

定義

値の検証チェックを実行します。

オーバーロード

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

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

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

ValidationResult オブジェクト。

適用対象