指定RangeValidator的范围时出错
-
26-12-2019 - |
题
我尝试指定4到13的范围。但它保持错误“MaximumValue 13不能小于RangeValidator1的最小值4。”我怎样才能解决这个问题。这是我的代码:
<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”,因此您将获得“最大
您应该使用CarrucareXpressionValidator检查输入长度:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
ValidationExpression="^.{4,13}$" ValidationGroup="Group1" EnableClientScript="false">*</asp:RegularExpressionValidator>
. 其他提示
使用RangeValidator以获取整数类型值时设置类型的生成频播码。
<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。在这种情况下,您将限制用户在Integer
之间放置值。
您可能想要检查输入的长度。为此,使用正则表达式验证器。
<asp:RegularExpressionValidator ID="RegexVal" ValidationExpression="^.{4,13}$" runat="server" ErrorMessage="Password must be 4-13 character long" ControlToValidate="TextBox2" />
. 当前要检查的指定数据类型将设置为字符串。“4”大于“13”,这就是为什么你得到这样的错误。将控件中的类型参数更改为整数,它应该工作。
类型应该是整数而不是字符串
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red"
MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*
</asp:RangeValidator>
.
谷歌翻译了下面的错误消息。 密码必须包含4-13个字符。
pashapash'答案 https://stackoverflow.com/a/21060857/211060857/263003 是正确的一个
不隶属于 StackOverflow