1

チェックボックスの値に基づいて時々だけテキストを検証したいテキストボックスがあります。チェックされている場合は検証を使用し、チェックされていない場合は検証しないでください。

正常に検証でき、その周りに赤いボックスが表示されますが、検証したくない場合は、テキストボックスの周りの赤いボックスが残ります。テキストボックスのバインディングをクリアしようとしましたが、うまくいきませんでした。

4

1 に答える 1

1

あなたの場合、次のようなカスタム検証を実装する必要があります。

public class TestModel : ValidationRule
{
    public bool IsChecked { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        if (IsChecked)
        {
            if (string.IsNullOrEmpty(FirstName))
            {
                return new ValidationResult(false, "FirstName requierd.");
            }
        }
        return new ValidationResult(true, null);
    }
}

この助けを願っています。

于 2012-08-10T22:01:31.877 に答える