12 验证控件的共性

本文详细介绍了ASP.NET中的验证机制,包括页面中的IsValid属性的作用、验证控件的显示方式、验证组的使用以及如何控制按钮是否触发验证等功能。
  • 页面中的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就可以了。

转载于:https://www.cnblogs.com/yagzh2000/archive/2013/06/09/3129546.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值