RangeValidator 无法计数?

发布于 2024-11-16 05:57:44 字数 333 浏览 1 评论 0原文

我正在尝试验证 TextBox 中字符串的长度。页面上的控件定义如下:

<asp:TextBox runat="server" ID="TB" />
<asp:RangeValidator runat="server" ID="RV" 
MinimumValue="3" MaximumValue="20" 
ControlToValidate="TB" Type="String" />

但是当页面运行时发生运行时错误

最大值不能小于 20 比最小值 3

I am trying to validate length of a string in a TextBox. Controls on page defined as follows:

<asp:TextBox runat="server" ID="TB" />
<asp:RangeValidator runat="server" ID="RV" 
MinimumValue="3" MaximumValue="20" 
ControlToValidate="TB" Type="String" />

But when page runs there is run time error occurred

The MaximumValue 20 cannot be less
than the MinimumValue 3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

壹場煙雨 2024-11-23 05:57:44

您提到的类型不正确,它应该是Type="Integer"而不是Type="String"

You mention Type incorrect, it should be Type="Integer" instead Type="String"

我乃一代侩神 2024-11-23 05:57:44

只需使用 TextBox 的 MaxLength 属性即可。用于获取/设置文本框中允许的最大字符数。

为了获得最小长度,您需要使用 CustomValidator。在该调用中检查字符串长度的 js 函数。

试试这个:

<asp:TextBox runat="server" ID="TB" />    
<asp:CustomValidator runat="server" ID="CustomValidator1" ControlToValidate="TB"
    Text="The text length should be between 3 and 20" 
    ClientValidationFunction="clientValidate" Display="Dynamic">
</asp:CustomValidator>


<script type="text/javascript">
function clientValidate(sender, args) {
    if (args.Value.length < 3 ||args.Value.length > 20) {
        args.IsValid = false;
    }
}

Just use TextBox's MaxLength propery. That is used to Get/Set maximum number of characters allowed in the text box.

For minimum length you'll need to use a CustomValidator. In that call a js function which checks the length of the string.

Try this:

<asp:TextBox runat="server" ID="TB" />    
<asp:CustomValidator runat="server" ID="CustomValidator1" ControlToValidate="TB"
    Text="The text length should be between 3 and 20" 
    ClientValidationFunction="clientValidate" Display="Dynamic">
</asp:CustomValidator>


<script type="text/javascript">
function clientValidate(sender, args) {
    if (args.Value.length < 3 ||args.Value.length > 20) {
        args.IsValid = false;
    }
}

叹倦 2024-11-23 05:57:44

您无法使用 RangeValidator 验证 TextBox 的长度! RangeValidator 用于验证字段的值,而不是该值的长度。

为此,您可以使用其他方式,例如 CustomValidator

You can not validate the length of a TextBox using a RangeValidator !! RangeValidator is used to validate the value of a field, not the length of this value.

To do that you can use other ways as CustomValidator.

想你的星星会说话 2024-11-23 05:57:44

对我来说正确的语法

 <asp:RegularExpressionValidator ID="RegularExpressionValidator34" runat="server" ControlToValidate="fname" 
            Display="Dynamic" ErrorMessage="email is required" ForeColor="Red" SetFocusOnError="True" 
            ValidationExpression="(\s|.){5,10}"> 
                  Length must between (5-10) characters</asp:RegularExpressionValidator>

The syntax that worked for me correctly

 <asp:RegularExpressionValidator ID="RegularExpressionValidator34" runat="server" ControlToValidate="fname" 
            Display="Dynamic" ErrorMessage="email is required" ForeColor="Red" SetFocusOnError="True" 
            ValidationExpression="(\s|.){5,10}"> 
                  Length must between (5-10) characters</asp:RegularExpressionValidator>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文