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>
これはうまくいくようです。しかし、問題は、有効なデータをデータベースに保存してデータベースをクリアした後、この検証が再度実行され、検証メッセージが再び表示されることです。
どうすればこの状況を回避できますか?