次の方法で共有


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

無効に関する情報。

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

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

適用対象

こちらもご覧ください