2015-03-19 189 views
0

HTML(完整的代碼)Asp.net範圍驗證

<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爲空或爲空並且txtnumber不是8個字符或不是17個字符。 只有2個選項第一個選項是8個字符第二個選項是17個字符。

txtnumber文本字符只能是像下面

12345678 // This is 8 characters 
123456789// This is 17 characters 

什麼添加到RangeValidator控件才能實現這一目標?

謝謝。

回答

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> 

希望它可以幫助

1

不要使用範圍驗證 - 使用正則表達式驗證器來代替:

<asp:RegularExpressionValidator ValidationExpression="^([0-9]{8})|([0-9]{17})$" ... /> 
+0

你好,謝謝你的回答,但它不適用於17任何想法嗎? – Richard 2015-03-19 12:30:51

0

驗證器通常會忽略空字段。值得注意的例外:RequiredFieldValidator。添加它以防止出現空字段並保持RangeValidator強制特定範圍的值。