大佬教程收集整理的这篇文章主要介绍了Silverlight Validation验证实例教程,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_675_19@
今天将完成计划中的最后一个话题,创建自定义扩展验证类,本篇是根据一些读者反馈的问题总结而来的,在本篇最后,将简单的对目前Silverlight Validation验证框架提供的验证机制进行总结性的对比和归纳,希望能够帮助大家在实际项目中定位和应用验证框架。@H_675_19@
@H_675_19@
阅读过前几篇Silverlight实例教程的朋友,给我留言和来信,大家对于Silverlight Validation类的使用,总感觉有些不灵活,特别是在自定义使用时,很难轻松的控制错误验证的捕获和弹出。 下面,我将演示另外一个实例,该实例将帮助开发人员创建自定义扩展Validation类,该类允许开发人员,方便的控制验证错误弹出,验证错误清除,以及验证校验方法。@H_675_19@
@H_675_19@
Silverlight Validation自定义扩展类@H_675_19@
本实例仍旧使用SilverlightValidationDemo项目,在Mainpage中创建一个简单的UI,进行演示:@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
根据上图,我们看到,我们将对产品名,产品数量和产品单价进行验证,在Xaml代码中,没有对Text进行绑定,这些,我们将在代码中进行实现。@H_675_19@
在完成上面UI的创建,我们需要创建一个静态类ValidationExtension,在该类中,我们将创建自定义验证方法,以及验证错误信息控制方法。@H_675_19@
@H_675_19@
在ValidationExtension类中,我们将使用以下三个静态方法,接管Silverlight Validation默认的验证捕获,其代码分别是:@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
SETVALidation静态方法,将设置FrameworkElement元素绑定ValidationError验证错误信息,其中设置NotifyOnValidationError 和ValidatesOnExceptions 为True,允许控件对异常和验证错误进行捕获和反馈。@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
RaiseValidationError静态方法,在验证错误绑定后,通过该方法将错误异常显示在客户端,通过updatesource方法更新客户端错误异常显示。简单的理解就是在客户端控件对象,弹出异常错误提示信息。@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
ClearValidationError静态方法,和RaiseValidationError静态方法正好相反,调用该方法将清空当前对象上显示的异常错误信息。@H_675_19@
@H_675_19@
以上三个方法的调用,将在后文演示。下面需要添加简单的验证条件,帮助客户端捕获验证错误信息,为了方便起见,这里,创建了对数字的判断和对双精度型的数据判断,代码如下:@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
IsnumberValid静态方法,判断当前对象中输入字符是否为数字;@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
IsPriceValid静态方法,判断当前对象中输入字符是否大于最小价格,如果false,则返回验证错误。@H_675_19@
@H_675_19@
这里大家已经留意到,ValidationExtension自定义扩展类没有继承和实现任何验证类或接口,独立存在。@H_675_19@
@H_675_19@
在以上静态方法中,我们用到了CustomizeValidation自定义验证类中的属性成员,在过去的几篇中,我们仅在CustomizeValidation中定义了一个简单的自定义验证方法,而现在我们需要添加两个简单的属性和一个新的构造函数,其代码如下:@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
完成了以上自定义代码后,我们可以在客户端进行简单的调用代码设置:@H_675_19@
@H_675_19@
目前,我们希望,点击“购买”按钮后,对用户输入信息进行验证判断,如果有错误异常,则弹出验证错误信息,@H_675_19@
这里我们仅需要添加部分代码到btBuy.Click事件即可。@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
@H_675_19@
通过SETVALidation,设置验证错误提示信息,通过RaiseValidationError弹出验证错误信息,每次点击前,调用ClearValidationError清空当前验证错误。最终执行结果如下:@H_675_19@
@H_675_19@
@H_675_19@@H_675_19@@H_675_19@
@H_675_19@
@H_675_19@
到这里,我们已经完成了一个自定义扩展Validation类,大家可以根据这个思路扩展更多的验证校验方法,并应用到项目控件中。@H_675_19@
@H_675_19@
Silverlight Validation验证机制对比总结和建议@H_675_19@
@H_675_19@
在过去的几篇中,我们曾经详细介绍了四种Silverlight Validation验证机制,分别是@H_675_19@
@H_675_19@
一些朋友发邮件问我,这些验证机制在项目中的优势是什么?在实际项目中,如何选择适当的验证机制?下面有个简单的列表,将以上四种验证机制进行简单的归纳总结:@H_675_19@
@H_675_19@
验证机制@H_675_19@ |
优势@H_675_19@ |
劣势@H_675_19@ |
基本异常验证机制@H_675_19@ |
1. 适用任何数据类型验证;@H_675_19@ |
|
2. 每个成员可以使用多个验证条件;@H_675_19@ |
仅适合用于Datagrid和Dataform和一些可使用DataAnnotation属性的第三方控件@H_675_19@ |
|
IDataErrorInfo客户端同步验证机制@H_675_19@ |
||
INotifyDataErrorInfo服务器端异步验证机制@H_675_19@ |
4. 每个成员可以使用多个验证条件;@H_675_19@ |
@H_675_19@
在使用Silverlight Validation框架是需要注意以下几点:@H_675_19@
@H_675_19@
1. 使项目支持异常捕获,这样验证框架可支持数据类型校验;@H_675_19@
2. 如果使用Datagrid和Dataform控件,推荐使用DataAnnotation验证机制;@H_675_19@
3. 如果需要在客户端验证所有信息,推荐使用IDataErrorInfo验证机制;@H_675_19@
以上是大佬教程为你收集整理的Silverlight Validation验证实例教程全部内容,希望文章能够帮你解决Silverlight Validation验证实例教程所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。