【发布时间】:2013-08-15 16:40:30
【问题描述】:
我有一个正在验证的网格文本框:
<telerik:RadTextBox ID="txtMerchMin" runat="server" Text='<%# Bind("MerchandiseMinimumAmount") %>'></telerik:RadTextBox>
<asp:RequiredFieldValidator ID="required" runat="server" ErrorMessage="* required" ControlToValidate="txtMerchMin"></asp:RequiredFieldValidator>
<asp:CompareValidator runat="server" ID="isNumbers" Type="Double" Operator="DataTypeCheck" ControlToValidate="txtMerchMin" ErrorMessage="* must be numeric" />
<asp:CompareValidator runat="server" ID="IsNonNegative" Type="Double" Operator="GreaterThanEqual" ControlToValidate="txtMerchMin" AmountToCompare="0" ErrorMessage="* should be non-negative"/>
<asp:CompareValidator ID="isLessThanMax" ControlToValidate="txtMerchMin" Type="Double" ControlToCompare="txtMerchMax" Operator="LessThan" Text="* should be less than max" runat="server"></asp:CompareValidator>
我希望验证按以下顺序运行并表现如下:
- 如果所需的验证失败,则仅显示所需的错误消息。
- 如果 isNumbers 验证失败,则仅显示 isNumber 的错误消息。
- 如果 isNonNegative 验证失败,仅显示 isNonNegative 的错误消息。
- 如果 isLessThanMax 验证失败,显示 isLessThanMax 的错误 仅限留言。
由于现在写的代码,当txtMerchMin中的值为非数字时,我同时看到isNumbers,isNonNegative和isLessThanMax的错误消息。
是否有任何方法可以“短路”验证以达到我的预期行为?
【问题讨论】:
标签: validation webforms