RangeValidatorの範囲を指定した場合のエラー
-
26-12-2019 - |
質問
私は4から13の範囲を指定しようとします。しかし、エラーを保持します。どうやってこれを解決できますか。これが私のコードです:
<asp:TextBox ID="TextBox2" runat="server" ValidationGroup="Group1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="TextBox2" ErrorMessage="กรุณากรอก Password" ForeColor="Red"
ValidationGroup="Group1">*</asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
MaximumValue="13" MinimumValue="4" Type="String" EnableClientScript="false">*</asp:RangeValidator>
.
これはボタンのコードです:
protected void Button2_Click1(object sender, EventArgs e)
{
try
{
if (Page.IsValid)
{
}
else
{
Insert();
}
}
catch (Exception ex)
{
}
}
.
あらゆる助けがあります。
解決
RangeValidatorは、値の長さではなく、コントロールの値を検証します。文字列比較の場合は "13"が "4"より小さいので、 "Max
LegureExpressionValidatorを使用して入力長を確認する必要があります。
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
ValidationExpression="^.{4,13}$" ValidationGroup="Group1" EnableClientScript="false">*</asp:RegularExpressionValidator>
. 他のヒント
整数型の値にRangeValidatorを使用しているときに、型Integer
を設定します。
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*</asp:RangeValidator>
.
しかし、私はあなたがパスワードフィールドを使ってRangeValidatorを使用していることを驚かせています。この場合、ユーザーは4-13
の間に値を入れることを制限しています。
あなたはおそらく入力の長さをチェックしたいと思うでしょう。正規表現検証済みを使用しています。
<asp:RegularExpressionValidator ID="RegexVal" ValidationExpression="^.{4,13}$" runat="server" ErrorMessage="Password must be 4-13 character long" ControlToValidate="TextBox2" />
. 現在確認しようとしている指定されたデータ型は、stringに設定されています。「4」が「13」より大きい、そのため、そのようなエラーが発生します。コントロール内のtype引数を整数に変更して動作する必要があります。
型は文字列
ではなく整数であるべきです<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*
</asp:RangeValidator>
.
Googleは以下のエラーメッセージを翻訳しました。 パスワードは4~13文字で構成されている必要があります。
Pashapash '答え https://stackoverflow.com/a/a/21060857/263003 は正しいものです
所属していません StackOverflow