ASP.NET RangeValidator 控件


定义和用法

RangeValidator 控件用于检测用户输入的值是否介于两个值之间。可以对不同类型的值进行比较,比如数字、日期和字符。

注释:如果输入控件为空,验证不会失败。请使用 RequiredFieldValidator 控件,使字段必需(必填)。

注释:如果输入值无法转换为指定的数据类型,验证不会失败。请使用 CompareValidator 控件,将其 Operator 属性设置为 ValidationCompareOperator.DataTypeCheck,这样就可以校验输入值的数据类型了。

属性

属性描述
BackColorRangeValidator 控件的背景颜色。
ControlToValidate要验证的控件的 id。
Display验证控件的显示行为。合法值有:
  • None - 控件不显示。仅用于 ValidationSummary 控件中显示错误消息。
  • Static - 如果验证失败,控件显示错误消息。即使输入通过验证,也在页面上预留显示消息的空间,即用于显示消息的空间是预先分配好的。
  • Dynamic - 如果验证失败,控件显示错误消息。如果输入通过验证,页面上不预留显示消息的空间,即用于显示消息的空间是动态添加的。
EnableClientScript布尔值,规定是否启用客户端验证。
Enabled布尔值,规定是否启用验证控件。
ErrorMessage当验证失败时,在 ValidationSummary 控件中显示的文本。 注释:如果未设置 Text 属性,文本也会显示在验证控件中。
ForeColor控件的前景颜色。
id控件的唯一 id。
IsValid布尔值,指示由 ControlToValidate 指定的控件是否通过验证。
MaximumValue规定输入控件的最大值。
MinimumValue规定输入控件的最小值。
runat规定该控件是一个服务器控件。必须设置为 "server"。
Type规定要检测的值的数据类型。类型有:
  • Currency
  • Date
  • Double
  • Integer
  • String
Text当验证失败时显示的消息。

实例

RangeValidator

<!DOCTYPE html>
<html>
<body>

<form runat="server">
Enter a date between 2005-01-01 and 2005-12-31:
<br>
<asp:TextBox id="tbox1" runat="server" />
<br><br>
<asp:Button Text="Submit" runat="server" />
<br><br>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="2005-01-01"
MaximumValue="2005-12-31"
Type="Date"
EnableClientScript="false"
Text="The date must be between 2005-01-01 and 2005-12-31!"
runat="server" />
</form>

</body>
</html>

在本例中,我们在 .aspx 文件中声明了一个 TextBox 控件,一个 Button 控件,和一个 RangeValidator 控件。如果验证失败,将在 RangeValidator 控件中显示文本 "The date must be between 1/1/2002 and 31/5/2002!"。

RangeValidator 2

<script  runat="server">
Sub submit(sender As Object, e As EventArgs)
If Page.IsValid Then
   lbl1.Text="Page is valid."
Else
   lbl1.Text="Page is not valid!!"
End If
End Sub
</script>

<!DOCTYPE html>
<html>
<body>

<form runat="server">
Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br><br>
<asp:Button Text="Submit" OnClick="submit" runat="server" />
<br><br>
<asp:Label id="lbl1" runat="server" />
<br>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
EnableClientScript="false"
Text="The value must be from 1 to 100!"
runat="server" />
</form>

</body>
</html>

在本例中,我们在 .aspx 文件中声明了一个 TextBox 控件,一个 Button 控件,一个 Label 控件,和一个 RangeValidator 控件。submit() 函数可检测页面是否有效。如果有效,则在 Label 控件中返回 "The page is valid!"。如果无效,则在 Label 控件中返回 "The page is not valid!"。如果验证失败,则在 RangeValidator 控件中显示 "The value must be from 1 to 100!"。