閱讀此文請先查看網頁教學網的:ASP.NET入門教程:Validation服務器控件,簡單講述了Web服務器控件的使用方法。
RangeValidator 控件用於檢測用戶輸入的值是否介於兩個值之間。可以對不同類型的值進行比較,比如數字、日期以及字符。計算輸入控件的值,以確定該值是否在指定的上限與下限之間。
注釋:如果輸入控件為空,驗證不會失敗。請使用 RequiredFieldValidator 控件,使字段成為必選字段。
注釋:如果輸入值無法轉換為指定的數據類型,驗證也不會失敗。請使用 CompareValidator 控件,將其 Operator 屬性設置為 ValidationCompareOperator.DataTypeCheck,這樣就可以校驗輸入值的數據類型了。
合法的值有:
當驗證失敗時,在 ValidationSummary 控件中顯示的文本。
注釋:如果未設置 Text 屬性,文本也會顯示在該驗證控件中。
ForeColor 該控件的前景色。 id 控件的唯一 id。 IsValid 布爾值,指示關聯的輸入控件是否通過驗證。 MaximumValue 規定輸入控件的最大值。 MinimumValue 規定輸入控件的最小值。 runat 規定該控件是一個服務器控件。必須設置為 "server"。 Type規定要檢測的值的數據類型。類型有:
<asp:RangeValidator
AccessKey="string"
AssociatedControlID="string"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
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"
MaximumValue="string"
MinimumValue="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"
runat="server"
SetFocusOnError="True|False"
SkinID="string"
Style="string"
TabIndex="integer"
Text="string"
ToolTip="string"
Type="String|Integer|Double|Date|Currency"
ValidationGroup="string"
Visible="True|False"
Width="size"
/>
備注:RangeValidator 控件使您可以檢查用戶的輸入是否在指定的上限與下限之間。可以檢查數字對、字母對和日期對限定的范圍。邊界表示為常數。
使用 ControlToValidate 屬性指定要驗證的輸入控件。MinimumValue 和 MaximumValue 屬性分別指定有效范圍的最小值和最大值。
Type 屬性用於指定要比較的值的數據類型。在執行任何比較之前,先將要比較的值轉換為該數據類型。
注意:如果輸入控件為空,則不調用任何驗證函數且驗證成功。使用 RequiredFieldValidator 控件防止用戶跳過某個輸入控件。
注意:如果 MaximumValue 或 MinimumValue 屬性指定的值無法轉換為 Type 屬性指定的數據類型,則 RangeValidator 控件將引發異常。
下面的代碼示例演示如何使用 RangeValidator 控件驗證在文本框中輸入的值是否介於 1 和 10 之間。驗證結果隨後顯示在頁上。
Visual Basic
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<title>RangeValidator Control (General Reference)</title>
<script runat="server">
Sub ButtonClick(sender As Object, e As EventArgs)
If Page.IsValid Then
Label1.Text="Page is valid."
Else
Label1.Text="Page is not valid!!"
End If
End Sub
</script>
</head>
<body>
<form id="Form1" runat="server">
<h3>RangeValidator Example</h3>
Enter a number from 1 to 10:
<br />
<asp:TextBox id="TextBox1"
runat="server"/>
<br />
<asp:RangeValidator id="Range1"
ControlToValidate="TextBox1"
MinimumValue="1"
MaximumValue="10"
Type="Integer"
EnableClientScript="false"
Text="The value must be from 1 to 10!"
runat="server"/>
<p />
<asp:Label id="Label1"
runat="server"/>
<p />
<asp:Button id="Button1"
Text="Submit"
OnClick="ButtonClick"
runat="server"/>
</form>
</body>
</html>
C#
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<title>RangeValidator Control (General Reference)</title>
<script runat="server">
void ButtonClick(Object sender, EventArgs e)
{
if (Page.IsValid)
{
Label1.Text="Page is valid.";
}
else
{
Label1.Text="Page is not valid!!";
}
}
</script>
</head>
<body>
<form id="Form1" runat="server">
<h3>RangeValidator Example</h3>
Enter a number from 1 to 10:
<br />
<asp:TextBox id="TextBox1"
runat="server"/>
<br />
<asp:RangeValidator id="Range1"
ControlToValidate="TextBox1"
MinimumValue="1"
MaximumValue="10"
Type="Integer"
EnableClientScript="false"
Text="The value must be from 1 to 10!"
runat="server"/>
<p />
<asp:Label id="Label1"
runat="server"/>
<p />
<asp:Button id="Button1"
Text="Submit"
OnClick="ButtonClick"
runat="server"/>
</form>
</body>
</html>