Asp.net为我们提供了六个验证验证控件及其要起作用必须设置的属性:
(1) RequiredFieldValidator:该控件要求其绑定的输入控件一定要有输入值,不能为空;
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
Text:输入控件输入的内容不能通过验证时显示的内容
InitialValue:指定验证控件不能通过验证的初始值,默认为空
说明:RequiredFieldValidator控件默认检查不是空格的非空字符串。如果为空或者填空格,则显示Text的内容,阻止页面返回后台。其实生成页面时,已经把验证验证方法放到了客户端页面,返回服务器前会调用验证方法,验证失败则阻止返回服务器。
RequiredFieldValidator检查默认的初始值是空或空格,当然我们也可以为其指定初始值。比如我们不允许用户输入”此字符串验证失败”的字符串,一旦输入这个字符串就显示”验证失败”.把” 此字符串验证失败”赋值给InitialValue属性即可,但此时不能再验证是否为空了。这样的验证特别适用在下拉列表中。
(2) RangeValidator:该控件要求其绑定的控件输入的值必须介于指定的最大最小值之间。
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
Text:输入控件输入的内容不能通过验证时显示的内容
MinimumValue:验证范围的最小值
MaximumValue:验证范围的最大值
Type:要验证的数据类型(String/Integer/Double/Date/Currency(货币类型))。
说明:验证时,先验证输入的字符串是否能转换为Type属性指定的内容,如果不能转换则报错,如果类型为String则进行正常的字符串比较,如果超出制定的范围也报错。必须注意该控件不验证输入为空的情况。此时必须结合RequiredFieldValidator控件。
扩展:Currency 数据类型 Currency 变量存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15 位数字,右边有 4 位数字。这种表示法的范围可以从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的类型声明字符为at号 (@)。Currency 数据类型在货币计算与定点计算中很有用,在这种场合精度特别重
(3) CompareValidator:该控件可以完成3种数据验证。1、数据类型的验证;2、输入字符串值与固定值得比较(设置ValueToCompare属性);3、两个输入字符串值得比较验证(设置ControlToCompare属性)。
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
Text:输入控件输入的内容不能通过验证时显示的内容
Type:要验证的数据类型(String/Integer/Double/Date/Currency(货币类型))。
Operator:所执行比较验证的操作类型(DataTypeCheck/Equal/GreaterThan/GreaterThanEqual/LessThan/LessThanEqual/NotEqual)
ValueToCompare:要比较的固定值
ControlToCompare:所比较的空间的ID
说明:空间在执行日期类型验证的时候,必须使用短格式的日期,如2010/2/4 或2010-01-01或2010.01.01。验证currency类型时,小数位不得操作2位。同样要验证输入为空,也必须得再次使用RequiredFieldValidator控件。
(4) RegularExpressionValidator:该控件使用指定的正则表达式验证输入的字符串值。
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
Text:输入控件输入的内容不能通过验证时显示的内容
ValidationExpression:验证使用的正则表达式
说明:要验证是否为空,还是得使用RequiredFieldValidator控件。在输入正则表达式方面,asp.net也为我们提供了内置的表达式:在设计视图中打开该空间的属性窗口,选择ValidationExpresstion属性,即可选择asp.net提供的正则表达式字符串。