ASP.NET验证控件的使用

  • 2019 年 10 月 7 日
  • 笔记

自认为做了几年Web,就很了解Asp.net,但最后才发现不是这个样子的。首先没有系统的学习,其次没有深入的实践,从学校到公司,一直在使用别人写好的控件,甚至在很长一段时间,想写几个轮子出来。自嘲自己的物质之后,开始慢慢的了解这些内容。前些天了解了一下验证控件,记录下来,希望以后忘记的时候可以舒适起来。

微软提供六个验证控件,更准确的说是五个验证控件和一个集中显示控件。在这些控件中,最简单的莫过于RequiredFieldValidator 控件,这个控件是验证必填项的,当验证的控件没有输入数据时,就会验证失败,从而无法继续执行。这个控件会在客户端和服务器段分别进行验证;其次是RegularExpressionValidator 控件,这个控件需要一个正则表达式,ValidationExpression属性是验证的正则表达式,这个控件同样会进行服务器和客户端的同时验证,除非客户端不支持js,或者显示指出只进行服务器验证才可以阻止客户端验证。

另外一个验证控件是CustomValidator 控件,这个只能在服务器端进行验证,它的验证方式非常灵活,当触发验证时,会执行服务器的一个方法,这个方法需要在OnServerValidate中指定,并在后台代码中进行验证,在这段代码中需要为args.IsValid赋值,true或者false,验证成功或失败,就这么简单。

另外两个是CompareValidator 控件和RangeValidator 控件,第一个是用来比较的,可以将输入控件的值同常数值或其他输入控件的值相比较,以确定这两个值是否与由比较运算符(小于、等于、大于等等)指定的关系相匹配。第二个是用来计算输入数据,验证是否在指定一个范围内。

最后说明,所有控件都有一个ControlToValidate属性,指定要验证的控件,ValidationGroup属性,指定一个验证组,在需要出发验证的地方,例如Button,也将这个属性设置相同。这样就可以完成验证了。

至于ValidationSummary 控件,则是在一起显示验证信息的。就这样吧,希望若干年以后不会忘记。