J'ai une zone de texte en grille que je valide :
<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>
J'aimerais que les validations soient exécutées dans l'ordre suivant et qu'elles se comportent de la manière suivante :
- Si la validation obligatoire échoue, afficher uniquement le message d'erreur de la validation obligatoire.
- Si la validation de isNumbers échoue, afficher uniquement le message d'erreur de isNumber.
- Si la validation de isNonNegative échoue, afficher uniquement le message d'erreur de isNonNegative.
- Si la validation de isLessThanMax échoue, afficher uniquement le message d'erreur de isLessThanMax. de isLessThanMax.
Dans l'état actuel du code, lorsque la valeur de txtMerchMin n'est pas un nombre, je vois le message d'erreur isNumbers, isNonNegative et isLessThanMax en même temps.
Existe-t-il un moyen de "court-circuiter" la validation pour obtenir le comportement attendu ?