Asp.net 提供了一系列的验证控件来验证用户的输入。
1. 验证控件总览
1.1 RequiredFieldValidator 验证相联的输入的控件的值是否不同于他的初始值
1.2 CompareValidator 将一个控件的值于另外一个控件的值进行比较
1.3 RangeValidator 验证相联的控件的值是否在指定的范围之内。
1.4 RegularExperessionValidator 验证相联的控件的值是否满足指定的正则表达式。
1.5 CustomValidator 可自定义验证的逻辑
1.6validationSummary 显示一个页面发生的所有验证错误信息
2. ErrorMessage 属性和 Text 属性
如果只有ErrorMessage 属性被设置,当相联控件的值非法时将显示ErrorMessage 中设置的字符串。
如果同时设置了ErrorMessage 属性和Text属性,当相联控件的值非法时将显示Text中设置的字符串。ErrorMessage中的字符串将显示在validationSummary 控件中。
3. 组合验证
一个控件可以拥有多个相联的验证控件。
当相联的控件的值为空时,所有的验证控件除RequiredFieldValidator 外都认为是合法的、
默认情况下,验证的控件的Display 属性被设置为Static , 此时,即使此验证的结果是合法的,验证也会占有相应的页面控件。当一个控件有多个相联的验证控件时应将验证控件的Display的属性设为Dynamic、
4. 取消验证
通过将控件(如Button) 的CauseValidation 属性设为false,可以取消验证。 此时,可以在服务端调用Validate方法后检查IsValid 属性来检验输入是否合法。
5. 自定义验证
在服务端,通过响应CustomValidator的ServerValidate 事件来提供自己的验证逻辑。当验证通过时,将args.IsValid 设为true,否则设为false。
如果要提供客户端的验证逻辑,用Javascript 书写一个验证逻辑。将验证函数的函数名赋给CustomValidator的Clientvalidation 属性。