Bonjour,
Pour afficher les erreurs de saisie, j'utilise les requiredfieldValidator d'AjaxControlToolKit et pour avoir un affichage du message d'erreur les ValidatorCalloutExtender. Cela fonctionne bien, les messages d'erreurs s'affichent sous forme de "tooltip" comme prévu, mais malheureusement pas à la bonne place. Au lieu de s'afficher juste à coté du textbox, il s'affiche au-dessus du formulaire.
Je vous envois un partie du code pour vous donner une idée de mon script.
...
<p>
<asp:Image ID="imgDateTime" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/images/datetime.gif" /> <asp:Label ID="Label2" runat="server" Text="Date et heure prévue d'envoi :" Font-Bold="True"></asp:Label><br />
<asp:TextBox ID="txtDatePrevue" runat="server" Width="100px"></asp:TextBox>
<asp:Image ID="imgDu" runat="server" ImageUrl="../../images/Calendar_scheduleHS.png" />
<asp:Label ID="lblExempleDate" runat="server" Font-Italic="True" ForeColor="Gray"
Text="(Format jj/mm/aaaa)"></asp:Label>
<asp:RequiredFieldValidator ID="RFVDateEnvoi" runat="server" ControlToValidate="txtDatePrevue"
ErrorMessage="La date de naissance doit être reseignée." Display="None">
<asp:Image ID="imgWarningNaissance" runat="server" ImageUrl="~/images/icon_viewstats_16px.gif" Width="16px" ImageAlign="AbsMiddle" /></asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="reqDateEnvoi" TargetControlID="RFVDateEnvoi" />
<asp:RegularExpressionValidator
ID="REVBirthDay" runat="server" ControlToValidate="txtDatePrevue" ErrorMessage="La date n'est pas correctement formatée" ValidationExpression="^(?:(?:(?:0?[1-9]|1\d|2[0-8])\/(?:0?[1-9]|1[0-2]))\/(?:(?:1[6-9]|[2-9]\d)\d{2}))$|^(?:(?:(?:31\/0?[13578]|1[02])|(?:(?:29|30)\/(?:0?[1,3-9]|1[0-2])))\/(?:(?:1[6-9]|[2-9]\d)\d{2}))$|^(?:29\/0?2\/(?:(?:(?:1[6-9]|[2-9]\d)(?:0[48]|[2468][048]|[13579][26]))))$" Display="None">
<asp:Image ID="imgREVNaissance" runat="server" ImageUrl="~/images/icon_viewstats_16px.gif" Width="16px" ImageAlign="AbsMiddle" /></asp:RegularExpressionValidator>
<ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="revDateEnvoi" TargetControlID="REVBirthDay" /><ajaxToolkit:CalendarExtender id="CalendarExtender1" runat="server" Format="dd/MM/yyyy" PopupButtonID="imgDu" TargetControlID="txtDatePrevue" PopupPosition="BottomRight"></ajaxToolkit:CalendarExtender>
<asp:TextBox ID="txtHeurePrevue" runat="server" Columns="10"></asp:TextBox> <asp:Image ID="imgHorloge"
runat="server" Height="16px" ImageAlign="AbsMiddle" ImageUrl="~/images/horloge.gif" />
<asp:Label ID="lblFormatHeure" runat="server" Font-Italic="True" ForeColor="Gray" Text="(Format 15:00)"></asp:Label>
<asp:RegularExpressionValidator ID="revHeureEnvoi" runat="server" ControlToValidate="txtHeurePrevue"
ErrorMessage="Le format de l'heure n'est pas correct." ValidationExpression="^(([0-1][0-9])|(2[0-3])):([0-5][0-9])$" Display="None">
<asp:Image ID="imgDefautHeure" runat="server" ImageAlign="AbsMiddle" ImageUrl="~/images/icon_viewstats_16px.gif"
Width="16px" /></asp:RegularExpressionValidator>
<ajaxToolkit:ValidatorCalloutExtender runat="server" ID="vceHeureEnvoi" TargetControlID="revHeureEnvoi" /></p>
...
Je ne vois pas d'ou vient l'erreur. Sachant que ce problème d'affichage arrive également avec CalendarExtender. Pour plus de précision, l'intranet que je développe utilise le cms DotNetNuke 4.0 avec la librairie AjaxControlToolKit.
Si vous avez une piste à me proposer ou un solution à m'expliquer dites le moi.
Merci pour tout.
PascalCmoa
email: PascalCmoa