Validation数据验证开篇
最后更新于:2022-04-01 14:20:52
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67c868925.jpg)
说起来Validation验证功能,相信大家都不陌生,在应用中,当需要用户交互输入时,开发人员都会加入一些验证代码,这样可以有效的避免应用异常出现,也可以使应用的错误提示信息清晰明了的显示在客户端,有利于异常定位,同时也提高用户体验。特别是在商业应用项目中,使用Validation功能,可以在数据存入存储设备前,进行格式,以及内容的校验,这样也提高了数据存储的安全性。
下面的ASP.NET的验证控件演示,是传统Web应用中最常见的验证效果,其中包括Required Field Validator,Range Validator等验证控件,
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67ca7c537.jpg)
Ajax Validation:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67ca91ceb.jpg)
而Silverlight同样提供类似于ASP.NET验证控件的支持,在[Silverlight Toolkit开源项目](http://silverlight.codeplex.com/)中,包含Data Input的Validation演示,
简单数据绑定验证,
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67caa19b1.jpg)
下图为ValidationSummary控件演示:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67cab78bd.jpg)
为了帮助大家学习和掌握Silverlight的Validation功能,随后的几篇,我将详细介绍一下Silverlight的Validation功能,并将结合一些实例演示帮助大家理解Validation验证功能。
本系列应用开发环境是:
Windows 7 Ultimate 英文版
Visual Studio 2010 Premium 英文版
Expression Blend 4 Premium 英文版
Silverlight 4
**Validation验证概述**
Validation,是验证,校验的意思,通常发生在用户输入数据后,进行验证判断,以确认用户输入正确信息。在验证的方法中,我们可以简单的从两个验证类型理解Validation,
1. 语法验证,该验证类型是通过成员的数据类型定义对比验证当前输入数据类型得出的验证结果;
例如,定义一个int类型,而赋值是string时,则会返回错误异常,验证控件,将获取该异常信息反馈到客户端;
~~~
public int Zip {get;set}
~~~
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67caca371.jpg)
语法验证经常发生在数据改变之前,其表现方式会在UI中体现;
2. 语义验证,该验证类型是将当前输入数据根据特定数据限制代码进行验证;
例如:指定某TextBox为必须输入,或者限定某TextBox内容长度,或者使用正则表达式控制其输入内容,最典型的例子是对电子邮件地址的验证:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67caf1c79.jpg)
语义验证通常会发生在数据改变之后,其表现方式可以由开发人员控制,不一定会在UI中体现;
一个简单的数据绑定,异常捕获验证时序图,本篇,不计划讲解该图,我将在随后的实例中,解释该验证原理。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-18_56eb67cb0f8b6.jpg)
今天暂时介绍到这里,随后几篇将结合具体的Validation类和实例,讲解Silverlight Validation应用。
欢迎加我的微博在线交流: [http://t.sina.com.cn/edmonton](http://t.sina.com.cn/edmonton)
同时欢迎大家加入"专注Silverlight" 技术讨论群:
32679955(六群)
23413513(五群)
32679922(四群)
100844510(三群)
37891947(二群)
22308706(一群)