1、修改ViewModel类继承IDataErrorInfo接口
IDataErrorInfo接口程序集为System.ComponentModel;
IDataErrorInfo实现2、修改ViewModel中属性
其中属性的验证属性需要继承System.ComponentModel.DataAnnotations
属性添加验证3、用户自定义验证类可以更灵活的编辑验证的条件,该类封装了一组返回值为ValidationResult的公共静态方法
自定义验证类4、后台属性设置完成,xaml代码中属性绑定需要进行验证设置
需要设置数据绑定Binding中ValidatesOnExceptions和ValidatesOnDataErrors属性为true
xaml中绑定设置5、修改TextBox中的验证错误样式,主要修改Validation.ErrorTemplate控件模板及Validation.HasError的触发器
注:错误验证的控件可用于DependencyObject的所有控件
ErrorTemplate为验证错误时控件的显示样式,也可以通过Validation.HasError属性在触发器中设置简单的样式
6、到此,界面上的验证基本设置完成,当输入数据验证不通过时则会触发相关的样式
验证错误界面7、下面需要在数据提交的过程中判断所有数据是否验证通过,从而决定数据是否开始提交
实现思路:获取输入控件列表并遍历控件是否存在验证错误,存在则获取错误验证的信息,否则跳过;
通过获取回来的错误信息判断是否当前验证的数据是否全部通过,并返回结果
遍历数据验证核心代码8、总结:可以在ViewModel的基类中继承IDataErrorInfo接口,将获取错误的相关方法可以封装在这个基类中
参考网站:https://www.cnblogs.com/NotAnEmpty/p/4031636.html
网友评论