2017-08-16 8 views
1

私は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> 

しかし、文字の中に何かを入力すると、範囲バリデーターと正規表現バリデーターの両方のメッセージがページに表示されます。しかし、一度に1つのメッセージしか表示しません。

+0

あなたは、単一の 'CustomValidator'使用できることを確認し、ユーザーが小数点での実数を入力しないようになりますと、整数のみを入力しますこれらすべてのチェックを行います。 –

+0

したがって、正規表現を変更する必要があります。 – Ravikumar

答えて

1

この場合、txtMinLotの値を1から100までの整数にする場合は、regularexpressionバリデーターはまったく必要ありません。 requiredfieldvalidaterとrangevalidatorを使用するだけで済みます。同じように、あなたがしたが、1回の変更で:

<asp:RangeValidator Type="Integer" ID 

タイプ=「整数」

0

正規表現 "[1-9] [0-9]?100"を使用して、範囲バリデータを削除します。

別のオプションは、スタイル(CSS)を使用して追加のエラーメッセージを非表示にすることです。正確なルールは、使用しているバリデータのバージョンによって異なりますので、私も推測するつもりはありませんが、生成されたHTMLを投稿すると簡単です。

関連する問題