还是之前说的问题,因为Web程序每次提交都需要到服务器去晃荡一圈,重新编译了才重新呈现给用户。比如,限制输入用户不能为空值,或者检查两次输入秘密是否一致等,其实是无关服务器的事的。但是,还是要到服务器去溜一圈再回来就很多余,就好比两个人面对面还打电话一样,明明可以听见还得上天去卫星那溜一圈去。那么,验证控件就是为了避免这种多余的情况出现,不去服务器了在浏览器这就把这事做了。当然它不仅仅解决了这一种问题,也不是说一定不去服务器,Asp.net中去不去验证是在服务器端还是在客户端执行这事,可选。本篇博客详细的介绍一下Asp.net的验证控件。
一、RequiredFieldValidator(空值验证) 用于检查是否有输入值
<ASP:TextBox id="txtUserName" Runat="Server"/> <ASP:RequiredFieldValidatorid="Validator1" Runat="Server" ControlToValidate="txtUserName" ErrorMessage="用户名不得为空" Display="Static"> *用户名不得为空 </ASP:RequiredFieldValidator>
代码中ControlToValidate="txtUserName"关联了要验证的控件为txtUserName;ErrorMessage="用户名不得为空"指定了当错误出现时显示的信息,Display="Static"指定了错误信息出现的方式,Static是为错误信息预留了位置,Dymatic表示控件错误信息出现时才占用页面空间,None当错误出现时不反应。其中,选择Static是后面需要指定错误信息所占的空间如上例的:*用户名不得为空。
二、CompareValidator(比较验证)控件 用户检查两个控件的内容是否一致
<ASP:CompareValidator id="Validator_ID"RunAt="Server"
ControlToValidate="要验证的控件ID"
errorMessage="错误信息"
ControlToCompare="要比较的控件ID"
type="String|Integer|Double|DateTime|Currency" <!--指定要比较的数据类型-->
operator="EqualLessThanEqual|DataTypeCheck" <!--这里有七种比较运算符-->
Display="Static|Dymatic|None">
占位符 <!--静态显示错误信息所占有的空间-->
</ASP:CompareValidator>
三、RangeValidator(范围验证) 限制用户输入的范围:例如年龄
<ASP:RangeValidator id="Vaidator_ID"Runat="Server" controlToValidate="要验证的控件ID" type="数据类型" MinimumValue="最小值" MaximumValue="最大值" errorMessage="错误信息" Display="Static|Dymatic|None"> 占位符 </ASP:RangeValidator>
这些验证的使用方式都查不多,后面的代码就不一一罗列了。
四、RegularExpresionValidator(正则表达式)控件 主要用于检查输入的自定义检查吧,比如特殊字符的限制
五、ValidationSummary(验证总结)控件 有时候为了使使用上的感受友好一些,我们可以把所有验证控件的错误情况汇总到这个控件里。
六、CustomValidator(自定义验证)控件 自定义函数验证,如用户名为空
这个验证是涉及到了服务器的东西的,准确的说可以涉及到服务器的数据库的。因为,这里验证的函数是自定义的,自然什么都我们说了算。代码还是不给了啊,自己看看吧,还是差不多。就是觉得这个验证*些,好用写,适应性也强吧。
总结:验证控件,在Web开发中也是基础知识,也必不可少。它起的作用就相当于,c\s结构中的输入检查限制,就是功能上要全乎一些。一定程度上,它保障了程序的健壮性和友好性,因为它限制了输入的规则保证的输入的合法性,同时相对于弹框提醒呢又好一些。若,遇到错误不给提示,对用户算是欺骗哈。基础知识,keep moving……