2017-08-16 132 views
1

我有一個文本框,並在其上這些ASP驗證控件。的ASP.NET驗證控件

 <asp:TextBox ID="txtMinLot" runat="server" CssClass="form-control" MaxLength="10" CausesValidation="false"> </asp:TextBox> 


<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtMinLot" ErrorMessage="Please enter min lot for Bidding" Font-Names="Arial" Font-Size="11px" Display="Dynamic" SetFocusOnError="True" ValidationGroup="check" ForeColor="Red"></asp:RequiredFieldValidator> 


    <asp:RegularExpressionValidator ID="RegularExpressionValidator13" runat="server" ControlToValidate="txtMinLot" Display="Dynamic" ErrorMessage="Not a Valid number." Font-Size="11px" ForeColor="Red" SetFocusOnError="True" ValidationExpression="[0-9]*$" ValidationGroup="check" /> 


    <asp:RangeValidator ID="rvLot" ControlToValidate="txtMinLot" runat="server" CssClass="result" Display="Dynamic" SetFocusOnError="True" ErrorMessage="Min Quantity should be less than Total Quantity and more than 0" Font-Size="11px" ForeColor="Red" MinimumValue="1" MaximumValue="100"></asp:RangeValidator> 

但是,當我在字符中鍵入一些東西時,範圍驗證器以及正則表達式驗證器消息都顯示在頁面中。但我想在一個時間

+0

您可以使用一個'CustomValidator'做所有這些檢查。 –

+0

所以,你必須改變正則表達式。 – Ravikumar

回答

1

在當你想在txtMinLot值是1到100之間的整數這種情況下,你不都需要一個正則表達式驗證。你只需要使用requiredfieldvalidater和rangevalidator;就像你一樣,但有一個變化:

<asp:RangeValidator Type="Integer" ID 

類型=「整數」將確保用戶不帶小數點輸入的實數,只會進入整數

0

使用正則表達式「[1-9] [0-9] | 100」只顯示一個消息,並刪除範圍驗證。

另一種選擇是隻用一種風格(CSS)隱藏其他錯誤消息。確切的規則將取決於您所使用的驗證的是什麼版本,所以我不打算甚至猜測,但如果您發佈時生成的HTML,它應該很容易。