0

ValidationRuleクラスを使用して、wpf テキスト ボックスに必要なフィールド検証の検証を適用しました 。私のコードは次のとおりです。

public class RequiredField : ValidationRule
{
    private String _errorMessage = String.Empty;
    public string ErrorMessage
    {
        get { return _errorMessage; }
        set { _errorMessage = value; }
    }

    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
    {
        var str = value as string;

        if (String.IsNullOrEmpty(str))
        {
            return new ValidationResult(false, this.ErrorMessage);
        }
        return new ValidationResult(true, null);
    }
}

XAML コードは以下のとおりです。

<TextBox  Name="txtName"  MaxLength="50">
    <TextBox.Text>
        <Binding Path="Name" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <myValidtaion:RequiredField ErrorMessage="Please enter Name." />
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

これはうまくいくようです。しかし、問題は、有効なデータをデータベースに保存してデータベースをクリアした後、この検証が再度実行され、検証メッセージが再び表示されることです。

どうすればこの状況を回避できますか?

4

1 に答える 1