1)异常验证属于基于NOTIFY校验的一种,使用例如
private string _name;
public string Name
{
get { return _name; }
set
{
if (string.IsNullOrEmpty(value))
{
throw new Exception("用户名不能为空.");
}
_name = value;
}
}
触发的时候,仅仅在焦点在USER绑定的控件内部,并且改变的时候并且从当前的焦点移除的时候才可以激活错误,激活时仅仅显示
Text="{Binding Path=UserName, Mode=TwoWay, ValidatesOnNotifyDataErrors=True, NotifyOnValidationError=False, ValidatesOnExceptions=True}" />
- 基本异常验证机制;
- DataAnnotation验证机制;
- IDataErrorInfo客户端同步验证机制;
- INotifyDataErrorInfo服务器端异步验证机制;
大家都能发现这几种Silverlight Validation机制是根据异常被动触发的验证机制,我们称之为被主动触发验证,主动触发异常验证,自我控制?