次の方法で共有


ValidationResult(Boolean, Object) コンストラクター

定義

ValidationResult クラスの新しいインスタンスを初期化します。

public:
 ValidationResult(bool isValid, System::Object ^ errorContent);
public ValidationResult (bool isValid, object errorContent);
new System.Windows.Controls.ValidationResult : bool * obj -> System.Windows.Controls.ValidationResult
Public Sub New (isValid As Boolean, errorContent As Object)

パラメーター

isValid
Boolean

ValidationRule でチェックした値が有効かどうか。

errorContent
Object

無効性に関する情報。

次の例は、入力値に数値以外の文字が含まれている場合、または下限と上限の外側にある場合に無効としてマークする検証規則の実装を示しています。 値が無効な場合、ErrorContent返される ValidationResult の プロパティと 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 データ バインディング モデルを使用すると、 または MultiBinding オブジェクトに関連付BindingけることができますValidationRules。 クラスをサブクラス化し、 メソッドを ValidationRule 実装することで、カスタム ルールを Validate 作成できます。 メソッドは Validate 、チェックされた ValidationResult 値が有効かどうかを報告するオブジェクトを返します。

検証プロセスの詳細については、「 データ バインディングの概要」の「データ検証」を参照してください。

適用対象

こちらもご覧ください