3
我正在使用WPF集成的EntLib 6验证块。 简单的属性在我的VM:获取验证结果
[StringLengthValidator(3, MessageTemplate = "Shorten me!")]
public String SomeText
{
get { return _someText; }
set
{
_someText = value;
OnPropertyChanged("SomeText");
}
}
而且相应的绑定到一个文本框:
<TextBox ToolTip="{Binding (Validation.Errors).CurrentItem.ErrorContent, RelativeSource={x:Static RelativeSource.Self}}"
Text="{Binding SomeText, UpdateSourceTrigger=PropertyChanged}"
vab:Validate.BindingForProperty="Text"/>
如果输入多于三个字符到文本框,值被拒绝,最后一个有效的一个是存储。文本框以红色突出显示,相应的消息显示为工具提示。
在虚拟机内我想检查是否有任何验证错误 - 但由于该值在视图中被拒绝,一切似乎都没有问题。那么如何确定是否存在验证错误?
注意: VAB不使用IDataErrorInfo接口!
vab防止绑定将无效值传递给VM - 无论启用ValidatesOnDataErrors – Jaster 2014-12-01 09:23:15