相信很多人都听说过这句名言:garbage in ,garbage out ! 数据录入不规范(或错误)就象一颗定时炸弹,迟早会给系统带来麻烦,所以在数据录入时做好验证是很有必要的。
相对传统asp.net开发而言,SL4中的数据验证要轻松很多(主要得益于Xaml的Binding特性),步骤如下:
1、定义业务Model类时,在需要验证的属性setter中,写好业务逻辑,对于不合规范的value,要抛出异常!
同时切记Model类要实现INotifyPropertyChanged接口,同时每个setter方法的最后,要显示调用OnPropertyChanged方法
比如,我们要做一个会员注册填写资料的Form,需要一个UserModel类,为了方便,先定义一个通用的基类BusinessBaseObject.cs
再来定义UserModel.cs
注:因为Sl中的数据验证实际上是通过抛异常将提示信息扔到前端的,这会导致在调试时vs.net不断的被异常信息所打断,这个有点烦人,所以我用了#define/#undef/#if /#endif 条件编译的小技巧,在调试期先不处理异常,等其它业务逻辑写完后,最后再加上#undef,进行数据验证测试。
2、xaml界面部分,用Binding将各控件与Model实例的属性关联,对于指定长度和指定输入字符集的字段(比如:18位身份证号,手机号之类),最适合用RadMaskedTextBox,示例如下:
3、Xaml.cs后端部分
运行截图:

作者:菩提树下的杨过