定义和用法
CompareValidator 控件用于将一个输入控件的值与另一个输入控件的值或常数值进行比较。
注释:如果输入控件为空,则不会调用任何验证函数,并且验证将成功。使用 RequiredFieldValidator 控件使字段必需(必填)。
属性
属性 | 描述 |
---|---|
BackColor | CompareValidator 控件的背景颜色。 |
ControlToCompare | 要与所验证的控件进行比较的控件名称。 |
ControlToValidate | 要验证的控件的 id。 |
Display | 验证控件的显示行为。合法值有:
|
EnableClientScript | 布尔值,规定是否启用客户端验证。 |
Enabled | 布尔值,规定是否启用验证控件。 |
ErrorMessage | 当验证失败时,在 ValidationSummary 控件中显示的文本。 注释:如果未设置 Text 属性,文本也会显示在验证控件中。 |
ForeColor | 控件的前景颜色。 |
id | 控件的唯一 id。 |
IsValid | 布尔值,指示由 ControlToValidate 指定的控件是否通过验证。 |
Operator | 要执行的比较操作的类型。运算符有:
|
runat | 规定控件是服务器控件。必须设置为 "server"。 |
Text | 当验证失败时显示的消息。 |
Type | 规定要对比的值的数据类型。类型有:
|
ValueToCompare | 一个常数值,该值要与由用户输入到所验证的输入控件中的值进行比较。 |
实例
CompareValidator
<!DOCTYPE HTML> <html> <body> <form runat="server"> <table border="0" bgcolor="#b0c4de"> <tr valign="top"> <td colspan="4"><h4>Compare two values</h4></td> </tr> <tr valign="top"> <td><asp:TextBox id="txt1" runat="server" /></td> <td> = </td> <td><asp:TextBox id="txt2" runat="server" /></td> <td><asp:Button Text="Validate" runat="server" /></td> </tr> </table> <br> <asp:CompareValidator id="compval" Display="dynamic" ControlToValidate="txt1" ControlToCompare="txt2" ForeColor="red" BackColor="yellow" Type="String" EnableClientScript="false" Text="Validation Failed!" runat="server" /> </form> </body> </html>
在本例中,我们在 .aspx 文件中声明了两个 TextBox 控件,一个 Button 控件,和一个 CompareValidator 控件。如果验证失败,将在 CompareValidator 控件中使用黄色背景红色字体显示 "Validation Failed!" 文本。
CompareValidator 2
<script runat="server"> sub check_operator(sender As Object, e As EventArgs) compval.Operator=CType(list.SelectedIndex,ValidationCompareOperator) compval.Validate() end sub </script> <!DOCTYPE html> <html> <body> <form runat="server"> <table border="0" bgcolor="#b0c4de"> <tr valign="top"> <td colspan="4"><h4>Compare two values</h4></td> </tr> <tr valign="top"> <td><asp:TextBox id="txt1" runat="server" /></td> <td> <asp:ListBox id="list" rows="2" OnSelectedIndexChanged="check_operator" runat="server"> <asp:ListItem value="Equal" selected>=</asp:ListItem> <asp:ListItem value="NotEqual"><></asp:ListItem> </asp:ListBox> </td> <td><asp:TextBox id="txt2" runat="server" /></td> <td><asp:Button Text="Validate" runat="server" /></td> </tr> </table> <br> <asp:CompareValidator id="compval" Display="dynamic" ControlToValidate="txt1" ControlToCompare="txt2" ForeColor="red" BackColor="yellow" Type="String" EnableClientScript="false" Text="Validation Failed!" runat="server" /> </form> </body> </html>
在本例中,我们在 .aspx 文件中声明了两个 TextBox 控件,一个 ListBox 控件,一个 Button 控件,和一个 CompareValidator 控件。check_operator() 函数把 ListBox 控件中选取的运算符设置为 CompareValidator 控件的运算符,然后对 CompareValidator 控件进行验证。如果验证失败,将在 CompareValidator 控件中使用黄色背景红色字体显示 "Validation Failed!" 文本。