Asp .net验证控件

时间:2017-08-16 14:39:50

标签: asp.net

我有一个文本框和这些asp验证控件。

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

但是当我在字符中键入内容时,范围验证器以及正则表达式验证器消息都显示在页面中。但我想一次只显示一条消息

2 个答案:

答案 0 :(得分:1)

在这种情况下,如果希望txtMinLot中的值为1到100之间的整数,则根本不需要使用regularrexpression验证器。你只需要使用requiredfieldvalidater和rangevalidator;就像你做的那样,只有一个改变:

<asp:RangeValidator Type="Integer" ID

Type =“Integer”将确保用户不输入带小数点的实数并且只输入整数

答案 1 :(得分:0)

使用正则表达式“[1-9] [0-9]?| 100”并删除范围验证器。

另一种选择是使用样式(CSS)来隐藏其他错误消息。确切的规则将取决于您使用的验证器的版本,所以我甚至不会猜测,但如果您发布生成的HTML,它应该很容易。