Ovládací prvek CompareValidator (obecná reference)
Vyhodnotí hodnotu vstupního ovládacího prvku vůči hodnotě konstanty nebo hodnotě jiného vstupního ovládacího prvku, zda tyto dvě hodnoty odpovídají relaci určené porovnávacím operátorem (menší než, je rovno, větší než a podobně).
<asp:CompareValidator
AccessKey="string"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
ControlToCompare="string"
ControlToValidate="string"
CssClass="string"
CultureInvariantValues="True|False"
Display="None|Static|Dynamic"
EnableClientScript="True|False"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
ErrorMessage="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
ID="string"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
Operator="Equal|NotEqual|GreaterThan|GreaterThanEqual|LessThan|
LessThanEqual|DataTypeCheck"
runat="server"
SetFocusOnError="True|False"
SkinID="string"
Style="string"
TabIndex="integer"
Text="string"
ToolTip="string"
Type="String|Integer|Double|Date|Currency"
ValidationGroup="string"
ValueToCompare="string"
Visible="True|False"
Width="size"
/>
Poznámky
Ovládací prvek CompareValidator umožňuje porovnat hodnoty zadané uživatelem do vstupního ovládacího prvku, jako například do ovládacího prvku TextBox, s hodnotou zadanou do jiného vstupního ovládacího prvku nebo konstantou. Ovládací prvek CompareValidatorlze také využít k určení, zda hodnota zadaná do vstupního ovládacího prvku, může být převedena na datový typ určený vlastností Type.
Zadejte vstupní ovládací prvek, který má být ověřen, nastavením vlastnosti ControlToValidate. Jestliže má být porovnán konkrétní vstupní ovládací prvek s jiným ovládacím prvkem, nastavte vlastnost ControlToCompare na jméno ovládacího prvku pro porovnání.
Namísto porovnání hodnot dvou vstupních ovládacích prvků, můžete porovnat hodnotu vstupního ovládacího prvku a hodnotu konstanty. Určete hodnotu konstanty pro porovnání nastavením vlastnosti ValueToCompare.
Vlastnost Operator umožňuje určit typ porovnání, který se má provádět, například větší než, rovná se atd. Pokud nastavíte vlastnost Operator na ValidationCompareOperator.DataTypeCheck, ignoruje ovládací prvek CompareValidator obě vlastnosti ControlToCompare a ValueToCompare a jednoduše indikuje, zda hodnotu zadanou do vstupního ovládacího prvku lze převést na datový typ určený vlastností Type.
Poznámka |
---|
Pokud je vstupní ovládací prvek prázdný, není zavolána žádná ověřovací funkce a ověřování je vyhodnoceno jako úspěšné.Abyste zabránili uživateli ve vynechání vstupního ovládacího prvku, použijte ovládací prvek RequiredFieldValidator. |
Další informace o ovládacím prvku CompareValidator naleznete ve třídě System.Web.UI.WebControls.CompareValidator.
Příklad
Následující příklad kódu demonstruje použití ovládacího prvku CompareValidator pro ověření, zda hodnota zadaná do textového pole odpovídá hodnotě zadané do jiného textového pole. Výsledek ověřování je poté zobrazen na stránce.
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub Button_Click(sender As Object, e As EventArgs)
If Page.IsValid Then
lblOutput.Text = "Result: Valid!"
Else
lblOutput.Text = "Result: Not valid!"
End If
End Sub
Sub Operator_Index_Changed(sender As Object, e As EventArgs)
Compare1.Operator = CType(ListOperator.SelectedIndex, ValidationCompareOperator)
Compare1.Validate()
End Sub
Sub Type_Index_Changed(sender As Object, e As EventArgs)
Compare1.Type = CType(ListType.SelectedIndex, ValidationDataType)
Compare2.Type = CType(ListType.SelectedIndex, ValidationDataType)
Compare1.Validate()
End Sub
</script>
</head>
<body>
<form runat="server">
<h3>CompareValidator Example</h3>
<p>
Enter a value in each text box. Select a comparison operator<br>
and data type. Click "Validate" to compare values.
<table bgcolor="#eeeeee" cellpadding="10">
<tr valign="top">
<td>
<h5>String 1:</h5>
<asp:TextBox id="TextBox1"
runat="server"/>
<br>
<asp:CompareValidator id="Compare1"
ControlToValidate="TextBox1"
ControlToCompare="TextBox2"
Type="String"
EnableClientScript="false"
Text="Failed Validation"
runat="server"/>
</td>
<td>
<h5>Comparison Operator:</h5>
<asp:ListBox id="ListOperator"
OnSelectedIndexChanged="Operator_Index_Changed"
runat="server">
<asp:ListItem Selected Value="Equal" >Equal</asp:ListItem>
<asp:ListItem Value="NotEqual" >NotEqual</asp:ListItem>
<asp:ListItem Value="GreaterThan" >GreaterThan</asp:ListItem>
<asp:ListItem Value="GreaterThanEqual" >GreaterThanEqual</asp:ListItem>
<asp:ListItem Value="LessThan" >LessThan</asp:ListItem>
<asp:ListItem Value="LessThanEqual" >LessThanEqual</asp:ListItem>
<asp:ListItem Value="DataTypeCheck" >DataTypeCheck</asp:ListItem>
</asp:ListBox>
</td>
<td>
<h5>String 2:</h5>
<asp:TextBox id="TextBox2"
runat="server"/>
<br>
<asp:CompareValidator id="Compare2"
ControlToValidate="TextBox2"
Operator="DataTypeCheck"
EnableClientScript="false"
Text="Invalid Data Type"
runat="server"/>
<br>
<asp:Button id="Button1"
Text="Validate"
OnClick="Button_Click"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<h5>Data Type:</h5>
<asp:ListBox id="ListType"
OnSelectedIndexChanged="Type_Index_Changed"
runat="server">
<asp:ListItem Selected Value="String" >String</asp:ListItem>
<asp:ListItem Value="Integer" >Integer</asp:ListItem>
<asp:ListItem Value="Double" >Double</asp:ListItem>
<asp:ListItem Value="Date" >Date</asp:ListItem>
</asp:ListBox>
</td>
</tr>
</table>
<br>
<asp:Label id="lblOutput"
Font-Name="verdana"
Font-Size="10pt"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void Button_Click(Object sender, EventArgs e)
{
if (Page.IsValid)
{
lblOutput.Text = "Result: Valid!";
}
else
{
lblOutput.Text = "Result: Not valid!";
}
}
void Operator_Index_Changed(Object sender, EventArgs e)
{
Compare1.Operator = (ValidationCompareOperator)ListOperator.SelectedIndex;
Compare1.Validate();
}
void Type_Index_Changed(Object sender, EventArgs e)
{
Compare1.Type = (ValidationDataType)ListType.SelectedIndex;
Compare2.Type = (ValidationDataType)ListType.SelectedIndex;
Compare1.Validate();
}
</script>
</head>
<body>
<form runat="server">
<h3>CompareValidator Example</h3>
<p>
Enter a value in each text box. Select a comparison operator<br>
and data type. Click "Validate" to compare values.
<table bgcolor="#eeeeee" cellpadding="10">
<tr valign="top">
<td>
<h5>String 1:</h5>
<asp:TextBox id="TextBox1"
runat="server"/>
<br>
<asp:CompareValidator id="Compare1"
ControlToValidate="TextBox1"
ControlToCompare="TextBox2"
Type="String"
EnableClientScript="false"
Text="Failed Validation"
runat="server"/>
</td>
<td>
<h5>Comparison Operator:</h5>
<asp:ListBox id="ListOperator"
OnSelectedIndexChanged="Operator_Index_Changed"
runat="server">
<asp:ListItem Selected Value="Equal" >Equal</asp:ListItem>
<asp:ListItem Value="NotEqual" >NotEqual</asp:ListItem>
<asp:ListItem Value="GreaterThan" >GreaterThan</asp:ListItem>
<asp:ListItem Value="GreaterThanEqual" >GreaterThanEqual</asp:ListItem>
<asp:ListItem Value="LessThan" >LessThan</asp:ListItem>
<asp:ListItem Value="LessThanEqual" >LessThanEqual</asp:ListItem>
<asp:ListItem Value="DataTypeCheck" >DataTypeCheck</asp:ListItem>
</asp:ListBox>
</td>
<td>
<h5>String 2:</h5>
<asp:TextBox id="TextBox2"
runat="server"/>
<br>
<asp:CompareValidator id="Compare2"
ControlToValidate="TextBox2"
Operator="DataTypeCheck"
EnableClientScript="false"
Text="Invalid Data Type"
runat="server"/>
<br>
<asp:Button id="Button1"
Text="Validate"
OnClick="Button_Click"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<h5>Data Type:</h5>
<asp:ListBox id="ListType"
OnSelectedIndexChanged="Type_Index_Changed"
runat="server">
<asp:ListItem Selected Value="String" >String</asp:ListItem>
<asp:ListItem Value="Integer" >Integer</asp:ListItem>
<asp:ListItem Value="Double" >Double</asp:ListItem>
<asp:ListItem Value="Date" >Date</asp:ListItem>
</asp:ListBox>
</td>
</tr>
</table>
<br>
<asp:Label id="lblOutput"
Font-Name="verdana"
Font-Size="10pt"
runat="server"/>
</form>
</body>
</html>