ASP.Net知己知彼之验证控件

       还是之前说的问题,因为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……

 



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。