12 验证控件的共性

  • 页面中的IsValid属性用来判断页面中的所有Validator是否都校验通过,中有都检验通过才为True,即使页面中的Validator服务端校验报错(如禁用JS,跳过客户端校验),在服务端方法中的业务代码(比如按钮的click)也会被执行,因此如果代码在数据校验不通过的不能执行就需要判断IsValid的值。
  • 所有验证控件都有Display属性,用来决定如何显示错误信息。有三个值:

          Static: 没有错误信息的时候,控件的Visiblity样式为Hidden来实现隐藏

          Dynamic:没有错误信息的时候,控件的display样式为none来实现隐藏。

         None: 不显示任何信息,用来配合ValidationSummary的

         前两者的区别是visiblity:hidden隐藏控件仍然会占用空间,而display:none则不会占用空间。

        比如一个日期控件后放了不能为空的验证控件和比较验证控件,如果不能为空的验证控件的display为static,则当

输入了一个信息后但不能满足比较验证的条件,不能为空的验证所占用的空间显示空白,但比较验证的控件就会显示出错信息,这样就会发现比较验证信息和它验证的控件离的有点远,如果把不能为空的验证控件的 display设置成 dynamic的话,就会发现比较验证控件提示信息会自动向要验证的控件靠拢。

  • 几乎所有控件都有ControlToValidate,Text属性,所有的控件几乎都要在客户端和服务端进行校验。

 

  • 如果在一个页面中同时放置注册和登录表单,那么他们的验证就会同时进行,这样即使登录,也会验证注册的东西,我们可以使用验证组来解决这个问题,将同一组的控件(表单、提交按钮、Validator等)的ValidationGroup设为相同的值就可以了,这样的话当点击button提交表单时就只会验证和它ValidationGroup相同名字的控件。

 

  • 如果将按钮控件(button,imagebutton,linkbutton)的CausesValidation属性设置为false,则这个按钮的点击不触发校验。  比如:在登录页面中有个连接按钮是注册用的,当点击“注册”按钮时并不许去验证用户名等信息,所以只要设置“注册”按钮的CausesValidation属性为false就可以了。

posted on 2013-06-09 17:16  天上星  阅读(175)  评论(0编辑  收藏  举报

导航