Bonjour,
J'utilise pour la première fois un CustomValidator. Je n'ai pas besoin de validation côté client, car cette validation dépend d'une réponse du serveur (via un web-service). Je précise aussi que je passe par un Wizard.
En gros, je propose une liste d'identifiants possibles (en step 1), générés en fonction de données renseignées préalablement (en step 0). En plus de ces propositions, j'ai un choix "autre" permettant de saisir un identifiant.
Mon CustomValidator me sert à vérifier que l'identifiant saisi dans ce dernier champ n'existe pas déjà. S'il existe, il doit rester sur ma page, permettant à l'utilisateur d'en saisir une autre. S'il n'existe pas, l'utilisateur passe la step 2 pour terminer la création du compte.
Là où ça coince, c'est que mes quelques validations côté client fonctionnent bien lors du clic sur "Suivant". Mais quand il est censé valider mon identifiant personnalisé, il ne me bloque pas et passe à la step 2.
Avez-vous une idée d'où cela peut venir ?
Code de ma page aspx
Codebehind
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <asp:ValidationSummary ID="ValidationSummary2" runat="server" /> <asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatLayout="Flow" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="True"> </asp:RadioButtonList> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="RadioButtonList1" ErrorMessage="Veuillez choisir une des propositions, ou saisir une autre adresse">*</asp:RequiredFieldValidator> <asp:TextBox ID="tbEmail" runat="server"></asp:TextBox><asp:Label ID="lblTbMail" runat="server" Text="Label"></asp:Label> <asp:RegularExpressionValidator ID="RegularExpressionValidatorTbEmail" runat="server" ControlToValidate="tbEmail" ErrorMessage="RegularExpressionValidator" ValidationExpression="\w+([-.]\w+)*" EnableClientScript="False">*</asp:RegularExpressionValidator> <asp:RequiredFieldValidator ID="RequiredTbMail" runat="server" ControlToValidate="tbEmail" ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator> <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="tbEmail" EnableClientScript="False" ErrorMessage="L'adresse choisie existe déjà, Veuillez en saisir une autre." OnServerValidate="CustomValidator1_ServerValidate">*</asp:CustomValidator>
A ce stade, je ne fais pas encore intervenir mon WS... car même ça, ça ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) { args.IsValid = false; }
Merci d'avance pour votre aide !
Tom
Partager