RangeValidator コントロール
入力コントロール内の値を評価し、その値が指定した上限と下限の間に収まっているかどうかを確認します。
<asp:RangeValidator
id="ProgrammaticID"
ControlToValidate="ProgrammaticID of control to validate"
MinimumValue="value"
MaximumValue="value"
Type="DataType"
ErrorMessage="Message to display in ValidationSummary control"
Text="Message to display in control"
ForeColor="value"
BackColor="value" ...
runat="server" >
</asp:RangeValidator>
解説
RangeValidator コントロールを使用すると、ユーザーが入力したデータが、指定した上限と下限の間に収まっているかどうかを確認できます。数字、アルファベット、および日付のペアで指定される範囲について確認できます。境界は定数で表現します。
ControlToValidate プロパティを使用して、検証対象の入力コントロールを指定します。MinimumValue プロパティと MaximumValue プロパティは、それぞれ、有効範囲の最小値と最大値を指定します。
Type プロパティを使用して、比較対象の値のデータ型を指定します。比較を実行する前に、比較対象の値がこのデータ型に変換されます。
メモ 入力コントロールが空の場合、検証関数は呼び出されず、そのまま検証が成功します。ユーザーが入力コントロールへの入力を省略しないようにする場合は、RequiredFieldValidator コントロールを使用します。同様に、入力コントロール内の値を Type プロパティで指定されたデータ型に変換できない場合も、検証は成功します。入力値のデータ型の検査に使用するために、CompareValidator コントロールを追加し、このコントロールの Operator プロパティを ValidationCompareOperator.DataTypeCheck に設定することを強くお勧めします。
**メモ **MaximumValue プロパティまたは MinimumValue プロパティで指定された値が、Type プロパティに指定されたデータ型に変換できない場合、RangeValidator コントロールは例外をスローします。
RangeValidator コントロールの詳細については、RangeValidator クラスのトピックを参照してください。
例
RangeValidator コントロールを使用して、テキスト ボックスに入力された値が 1 から 10 までの範囲内の値かどうかを検証する方法を次の例に示します。検証後に、その結果がページに表示されます。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<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 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"/>
<br><br>
<asp:Label id="Label1"
runat="server"/>
<br><br>
<asp:Button id="Button1"
Text="Submit"
OnClick="ButtonClick"
runat="server"/>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<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 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"/>
<br><br>
<asp:Label id="Label1"
runat="server"/>
<br><br>
<asp:Button id="Button1"
Text="Submit"
OnClick="ButtonClick"
runat="server"/>
</form>
</body>
</html>