Validation服务器控件:RangeValidator控件

2009-03-15 01:42:28  来源:网页教学网 

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

阅读此文请先查看网页教学网的:ASP.NET入门教程:Validation服务器控件,简单讲述了Web服务器控件的使用方法。

定义和用法

RangeValidator 控件用于检测用户输入的值是否介于两个值之间。可以对不同类型的值进行比较,比如数字、日期以及字符。计算输入控件的值,以确定该值是否在指定的上限与下限之间。

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

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

属性

属性 描述
BackColor RangeValidator 控件的背景颜色
ControlToValidate 要验证的控件的 id
Display 验证控件的显示行为。

合法的值有:

  • None - 验证消息从不内联显示。
  • Static - 在页面布局中分配用于显示验证消息的空间。
  • Dynamic - 如果验证失败,将用于显示验证消息的空间动态添加到页面。
EnableClientScript 布尔值,规定是否启用客户端验证。
Enabled 布尔值,规定是否启用验证控件。
ErrorMessage

当验证失败时,在 ValidationSummary 控件中显示的文本。

注释:如果未设置 Text 属性,文本也会显示在该验证控件中。

ForeColor 该控件的前景色。
id 控件的唯一 id。
IsValid 布尔值,指示关联的输入控件是否通过验证。
MaximumValue 规定输入控件的最大值。
MinimumValue 规定输入控件的最小值。
runat 规定该控件是一个服务器控件。必须设置为 "server"。
Type

规定要检测的值的数据类型。类型有:

  • Currency
  • Date
  • Double
  • Integer
  • String
Text 当验证失败时显示的消息。

语法

<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>

更多

推荐文章