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添加什么?
谢谢。
如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>
希望它能帮助
不要使用范围验证器,而是使用正则表达式验证器:
<asp:RegularExpressionValidator ValidationExpression="^([0-9]{8})|([0-9]{17})$" ... />
验证器通常忽略空字段。值得注意的异常:RequiredFieldValidator。添加它以防止空字段,并保留RangeValidator以强制使用特定的值范围。