CompareValidator Web 控件可以驗證使用者輸入的數據,和某個值利用比較運算。其使用語法為:
<ASP:CompareValidator
Id="被程序代碼所控制的名稱"
Runat="Server"
ControlToValidate="要驗證的控件名稱"
Operator="DataTypeCheck | Equal | NotEqual | GreaterThan |
GreaterThanEqual | LessThan | LessThanEqual"
Type="資料型別"
ControlToCompare="要比較的控件名稱" | ValueToCompare="要比較的值"
ErrorMessage="所要顯示的錯誤信息"
Text="未通過驗證時所顯示的訊息"
/>
其常用屬性說明如下表所示:
下列范例限制使用者所輸入的年齡必需大于18 歲:
<Html>
<Form Id="Form1" Runat="Server">
姓名: <ASP:TextBox Id="txtName" Runat="Server"/><br>
年齡: <ASP:TextBox Id="txtAge" Runat="Server"/>
<ASP:CompareValidator Id="Validor1" Runat="Server"
ControlToValidate="txtAge"
ValueToCompare="18"
Operator="GreaterThanEqual"
Type="Integer"
Text="您必須大于十八歲才可以瀏覽本站"/><br>
住址: <ASP:TextBox Id="txtAdd" Runat="Server"/><br>
<ASP:Button Id="btnOK" Text="確定" OnClick="btnOK_Click"
Runat="Server"/>
<ASP:Label Id="lblMsg" Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Sub btnOK_Click(Sender As Object,e As EventArgs)
If Page.IsValid Then
lblMsg.Text="驗證成功!"
End If
End Sub
</Script>
</Html>
下列范例碼限制使用者輸入必須是整數型態的數據:
<Html>
<Form Id="Form1" Runat="Server">
姓名: <ASP:TextBox Id="txtName" Runat="Server"/><br>
年齡: <ASP:TextBox Id="txtAge" Runat="Server"/>
<ASP:CompareValidator Id="Validor1" Runat="Server"
ControlToValidate="txtAge"
Operator="DataTypeCheck"
Type="Integer"
Text="您必須輸入數值"/><br>
住址: <ASP:TextBox Id="txtAdd" Runat="Server"/><br>
<ASP:Button Id="btnOK" Text="確定" OnClick="btnOK_Click"
Runat="Server"/>
<ASP:Label Id="lblMsg" Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Sub btnOK_Click(Sender As Object,e As EventArgs)
If Page.IsValid Then
lblMsg.Text="驗證成功!"
End If
End Sub
</Script>
</Html>
上述程序并沒有限制使用者一定要輸入年齡的數據,若要限制只用者一定要填入數據,可以搭配RequireFieldValidator 來作驗證;如下范例所示:
<Html>
<Form Id="Form1" Runat="Server">
姓名: <ASP:TextBox Id="txtName" Runat="Server"/><br>
年齡: <ASP:TextBox Id="txtAge" Runat="Server"/>
<ASP:CompareValidator Id="Validor1" Runat="Server"
ControlToValidate="txtAge"
Operator="DataTypeCheck"
Type="Integer"
Text="您必須輸入數值"/>
<ASP:RequiredFieldValidator Id="Validor2" Runat="Server"
ControlToValidate="txtAge"
Text="必填項目"/><br>
住址: <ASP:TextBox Id="txtAdd" Runat="Server"/><br>
<ASP:Button Id="btnOK" Text="確定" OnClick="btnOK_Click"
Runat="Server"/>
<ASP:Label Id="lblMsg" Runat="Server"/>
</Form>
<Script Language="VB" Runat="Server">
Sub btnOK_Click(Sender As Object,e As EventArgs)
If Page.IsValid Then
lblMsg.Text="驗證成功!"
End If
End Sub
</Script>
</Html>