我有一个文本框和这些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>
但是当我在字符中键入内容时,范围验证器以及正则表达式验证器消息都显示在页面中。但我想一次只显示一条消息
答案 0 :(得分:1)
在这种情况下,如果希望txtMinLot中的值为1到100之间的整数,则根本不需要使用regularrexpression验证器。你只需要使用requiredfieldvalidater和rangevalidator;就像你做的那样,只有一个改变:
<asp:RangeValidator Type="Integer" ID
Type =“Integer”将确保用户不输入带小数点的实数并且只输入整数
答案 1 :(得分:0)
使用正则表达式“[1-9] [0-9]?| 100”并删除范围验证器。
另一种选择是使用样式(CSS)来隐藏其他错误消息。确切的规则将取决于您使用的验证器的版本,所以我甚至不会猜测,但如果您发布生成的HTML,它应该很容易。