我对同一字段有两个验证控件。 一个验证该字段不丢失\空白。 另一个是范围验证器。 验证失败的文本为“星号” 因此,如果将控件并排放置,则就像: MyTextField + Askterisk + Askterisk 两种错误不能同时发生。 但仍然,对于第二个错误,您将获得MyField + Space + Askterisk,对于第一个错误,您将获得MyField + Askterisk + Space。 当两个错误之一发生时,是否有一种方法可以解决这个问题,使您得到的只是MyField + Askterisk? 我们知道这两种错误都是不可能的。仅发生一个或另一个错误。 我为两个验证控件定义了width属性,设置为10px。我删除了它,但是并没有解决这个问题。
这是我的代码。...有什么建议吗?
<asp:TemplateField HeaderText="CurrentPrice" SortExpression="CurrentPrice">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Width="160px" Text='<%# Bind("CurrentPrice") %>'></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ErrorMessage="Current Price is a required field." ControlToValidate="TextBox2" Text="*" ForeColor="Red" ></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
MinimumValue="0"
MaximumValue="100000"
Type="Double"
Text ="*"
Forecolor = "Red"
ErrorMessage="Current price is too hight. Please check and fix."
></asp:RangeValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Width="180px" Text='<%# Bind("CurrentPrice") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>