0

Html(完整代码)

<asp:TextBox ID="txtSasiNo" runat="server" Width="250px" MaxLength="17"></asp:TextBox>
<asp:RegularExpressionValidator CssClass="zorunlu" ValidationGroup="kaskoTeklifSayfasi" Display="Dynamic" ID="rangevalidator1" runat="server" SetFocusOnError="true" ControlToValidate="txtSasiNo" ErrorMessage="Enter number characters only (8 or 17)" ValidationExpression="^\d{8}$|^\d{17}$""></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="rfvSasiNo" SetFocusOnError="true" ValidationGroup="kaskoTeklifSayfasi" runat="server" Display="Dynamic" ControlToValidate="txtSasiNo" CssClass="zorunlu">Please enter Number.</asp:RequiredFieldValidator>

问题:

我正在尝试使用 RangeValidator。

如果 txtnumber 为 null 或为空,并且 txtnumber 不是 8 个字符或不是 17 个字符。只有 2 个选项第一个选项是 8 个字符,第二个选项是 17 个字符。

txtnumber文本字符只能如下所示

12345678    // This is 8 characters
12345678901234567    // This is 17 characters

为了实现这一点,向 RangeValidator 添加什么?

谢谢。

4

3 回答 3

1

不要使用范围验证器 - 改用正则表达式验证器:

<asp:RegularExpressionValidator ValidationExpression="^([0-9]{8})|([0-9]{17})$" ... />
于 2015-03-19T12:10:35.677 回答
1

Ondrej所述,您可以使用RegularExpressionValidator. 更具体地说,aspx。请参阅下面的代码:-

更新代码:

干得好:-

<asp:TextBox ID="txtnumber" runat="server" Width="250px"></asp:TextBox>
<asp:RegularExpressionValidator Display="Dynamic" ID="regtxt" runat="server" SetFocusOnError="true" ControlToValidate="txtnumber" ErrorMessage="Enter number characters only (8 or 17)" 
    ValidationExpression="^\d{8}$|^\d{17}$"></asp:RegularExpressionValidator>

希望能帮助到你

于 2015-03-19T12:16:19.953 回答
0

验证器通常会忽略空字段。值得注意的例外:RequiredFieldValidator。添加它以防止出现空字段并保持 RangeValidator 强制执行特定范围的值。

于 2015-03-19T12:27:33.853 回答