Bonjour a tous,

En faite j’utilise un validateur « CompareValidator » pour comparer deux dates, j’utilise aussi deux autres validateurs « RegularExpressionValidator » pour contrôler les valeurs de ces deux dates (sous la forme dd/mm/yyyy) et un quatrième validateur « ValidationSummary » pour afficher les messages d’erreur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<table cellpadding="2" cellspacing="0" border="0" class="leftMenulightGraySlaveMenuText">
<tr>
     <td>
          <b>le</b>&nbsp;<asp:TextBox ID="TextBoxFrom" runat="server" MaxLength="10" Width="80px" CssClass="lightGrayTextBox"></asp:TextBox>
<asp:RegularExpressionValidator id="RegularExpressionValidatorTextBoxFrom" runat="server" ControlToValidate="TextBoxFrom" ValidationExpression="^\d{2}(\-|\/|\.)\d{2}\1\d{4}$">?</asp:RegularExpressionValidator>
</td>
<td><b>et le</b>&nbsp;<asp:TextBox ID="TextBoxTo" runat="server" MaxLength="10" Width="80px" CssClass="lightGrayTextBox"></asp:TextBox>
<asp:RegularExpressionValidator id="RegularExpressionValidatorTextBoxTo" runat="server"  ControlToValidate="TextBoxTo" ValidationExpression="^\d{2}(\-|\/|\.)\d{2}\1\d{4}$">?</asp:RegularExpressionValidator>
<asp:CompareValidator id="CompareValidator_Dates" runat="server" ControlToValidate="TextBoxTo" ControlToCompare="TextBoxFrom" Type="Date" Operator="GreaterThan">!</asp:CompareValidator>
</td>
</tr>
 </table>
Le problème c’est que quand je saisie l’année de la premiere date sur 4 chiffre et la deuxieme sur 2 chiffre (exp : 1ere date 01/01/2009 et la 2eme date 15/01/09) je peux valider mon formulaire ce qui n’est pas normal

Mais si j’enlève le validateur « CompareValidator » j’aurai le message d’erreur qui m’empêche de valider le formulaire.

Est-ce que c’est une question de priorité entre les validateurs (« CompareValidator » plus prioritaire que «RegularExpressionValidator ») ?

Est-ce que c’est un ou entre la propriété IsValid (ce qui’est n’est pas normal je crois) ??

J’ai trop cherché mais malheureusement je n’ai pas trouvé.


Merci d'avance pour votre aide