Bonjour tout le monde.
Là, j'ai un truc de dingue sur un formulaire.
Donc j'ai un formulaire presque tout bête : un nom, un téléphone, un mail et un texte. Un bouton au bout et voilà, un joli formulaire.
La particularité c'est qu'il est dans un UpdatePanel et j'ai mis un Div pour le cacher et le faire apparaitre en cliquant sur un LinkButton.
Bon, maintenant je mets un RegularExrepssionValidator sur le controle du Mail et tout va bien.
Et maintenant je rajoute un RequiredFieldValidator sur le nom pour obliger l'utilisateur a saisir un truc et là, mon formualire apparait plus quand je clique sur le LiknButton !!!
Extrêment bizarre comme comportement.
Je vous soumets le code HTML complet, comme ça, pas de surpise:
Et le petit bout de CodeBehind :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <ajax:ScriptManager ID="sm" runat="server"></ajax:ScriptManager> <div> <asp:LinkButton ID="hlContactVendeur" runat="server" Text="Ecrire au vendeur" CssClass="IMMO_lbContactVendeur"></asp:LinkButton> <ajax:UpdatePanel ID="upContact" runat="server" ChildrenAsTriggers="true" UpdateMode="Always" RenderMode="Inline"> <Triggers> <ajax:AsyncPostBackTrigger ControlID="hlContactVendeur" EventName="Click" /> </Triggers> <ContentTemplate> <div id="divFondContact" runat="server" style="display:none;" class="FondOpaqueGene FondOpaqueContact"> <div id="divDevantContact" class="DivDevantGene DivDevantContact"> <asp:LinkButton ID="lbCloseRegister" runat="server" Text="Close" CssClass="lien"></asp:LinkButton><br /> <p style="font-size:large;font-weight:bold;">Contactez le vendeur.</p> <p>Votre nom : <asp:TextBox ID="txtNomContact" runat="server" MaxLength="100"></asp:TextBox> <asp:RegularExpressionValidator ID="revTest" runat="server" ControlToValidate="txtNomContact" ErrorMessage="Erreur" ValidationExpression="[a-zA-Z0-9]"></asp:RegularExpressionValidator></p> <p>Votre téléphone : <asp:TextBox ID="txtTelephoneContact" runat="server" MaxLength="15"></asp:TextBox></p> <p>Votre adresse mail : <asp:TextBox ID="txtMail" runat="server" MaxLength="50"></asp:TextBox> <asp:RegularExpressionValidator ID="revMail" runat="server" ErrorMessage="Cette adresse mail ne semble pas correcte." ControlToValidate="txtMail" ValidationExpression="^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"></asp:RegularExpressionValidator></p> <p>Votre message : </p> <p><asp:TextBox ID="txtMessageContact" runat="server" MaxLength="2000" Columns="50" Rows="8" TextMode="MultiLine"></asp:TextBox></p> <p><asp:Button ID="btnEnvoiContact" runat="server" Text="Envoyer votre Message" /></p> <asp:RequiredFieldValidator ID="rfvTest" runat="server" ErrorMessage="ljhlkjhlk" ControlToValidate="txtNomContact"></asp:RequiredFieldValidator> </div> </div> </ContentTemplate> </ajax:UpdatePanel> </div> </form> </body> </html>
Voilà, donc rien de bien sorcier dans ce formaulire, sauf que dés qu'il y a un RequiredFieldValidator, il fait son timide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Protected Sub hlContactVendeur_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles hlContactVendeur.Click divFondContact.Style("Display") = "Block" End Sub
J'ai essayé de placer le validator ailleurs dans le formulaire, mais nada, il veut rien savoir.
Merci pour votre aide, je sèche total.
Partager