次の方法で共有


ValidationResult.IsValid プロパティ

定義

ValidationRule に関してチェックされた値が有効かどうかを示す値を取得します。

public:
 property bool IsValid { bool get(); };
public bool IsValid { get; }
member this.IsValid : bool
Public ReadOnly Property IsValid As Boolean

プロパティ値

Boolean

値が有効な場合は true。それ以外の場合は false。 既定値は false です。

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

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

適用対象

こちらもご覧ください