使用 CompareValidator 控件将由用户输入到输入控件(例如 TextBox 控件)的值与输入到其他输入控件的值或常数值进行比较。如果输入控件的值符合 Operator、ValueToCompare 及/或 ControlToCompare 属性指定的条件,CompareValidator 控件便可通过验证。
还可以使用 CompareValidator 控件来指示输入到输入控件中的值是否可以转换为 BaseCompareValidator..::.Type 属性所指定的数据类型。
通过设置 ControlToValidate 属性指定要验证的输入控件。如果要将特定输入控件与其他输入控件进行比较,请设置 ControlToCompare 属性以指定要与之比较的控件。
说明:
如果输入到 ControlToCompare 属性所指定的输入控件中的值无法转换为 BaseCompareValidator..::.Type 属性所指定的数据类型,而输入到 ControlToValidate 属性所指定的输入控件中的值可以转换,则所验证的输入控件将被视为有效。因此,您还应在 ControlToCompare 属性所指定的输入控件上放置 CompareValidator 或 RangeValidator 控件。
还可以将输入控件的值与常数值进行比较,而不是将一个输入控件的值与其他输入控件的值进行比较。通过设置 ValueToCompare 属性指定要与之比较的常数值。
说明:
如果 ValueToCompare 属性指定的值无法转换为 BaseCompareValidator..::.Type 属性指定的数据类型,将引发异常。在以编程方式将该值分配给 ValueToCompare 属性之前,一定要检查该值的数据类型。
说明:
请勿同时设置 ControlToCompare 和 ValueToCompare 属性。既可以将输入控件的值与另一个输入控件的值进行比较,也可以将其与常数值进行比较。如果同时设置了这两个属性,则 ControlToCompare 属性优先。
使用 Operator 属性指定要执行的比较的类型,如大于、等于等等。如果将 Operator 属性设置为 ValidationCompareOperator.DataTypeCheck,则 CompareValidator 控件忽略 ControlToCompare 和 ValueToCompare 属性,并且仅指示输入到输入控件中的值是否可以转换为 BaseCompareValidator..::.Type 属性指定的数据类型。
BaseCompareValidator..::.Type 属性用于指定两个比较值的数据类型。在执行比较操作前,两个值都自动转换为此数据类型。
重要说明:
当 Type 属性设置为 Date 且当前日历类型为非公历时,验证程序只执行服务器端验证。验证程序客户端脚本只支持公历日历。
下表列出了可以比较的各种数据类型。
数据类型
说明
String
字符串数据类型。
Integer
32 位有符号整数数据类型。
Double
双精度浮点数数据类型。
Date
日期数据类型。
Currency
一种可以包含货币符号的十进制数据类型。
说明:
如果输入控件为空,则不会调用任何验证函数,并且验证将成功。使用 RequiredFieldValidator 控件要求用户在输入控件中输入数据。
说明:
当使用 UpdatePanel 控件内部的 CompareValidator 控件时,请确保该验证程序控件与关联的控件位于同一面板中。有关将 UpdatePanel 控件用于部分页更新的更多信息,请参见部分页呈现概述。
有关验证控件的更多信息,请参见 BaseValidator。