Page_ClientValidate est de valider plusieurs fois.
problème que j'ai, c'est que, le récapitulatif de la validation du message(alerte) est affiché deux fois. Je ne peux pas comprendre la raison.
S'il vous plaît aider.
Voici le code
function validate() //javascript function
{
if (typeof(Page_ClientValidate) == 'function')
{
var isPageValid = Page_ClientValidate();
if(isPageValid)
{
}
}
}
<asp:Button ID="btn1" runat="server" OnClientClick="validate()" Text="button"
ValidationGroup="ContactGroup" />
<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List"
ShowMessageBox="true" ShowSummary="false" ValidationGroup="ContactGroup" />
Il semble qu'il y a plus de deux la validation des résumés.
OriginalL'auteur | 2009-06-09
Vous devez vous connecter pour publier un commentaire.
Le problème est que la fonction Page_ClientValidate prend un paramètre d'entrée, si vous ne spécifiez pas l'entrée puis le validationsummary déclenche une fois par groupname.
Dans votre cas, la fonction se déclenche deux fois: une fois pour groupname="ContactGroup" et une autre fois pour groupname=""
vous devriez changer
à
si vous ne souhaitez pas spécifier un ValidationGroup, ou si vous souhaitez spécifier un nom de groupe, alors vous devez appeler Page_ClientValidate comme suit:
OriginalL'auteur bastos.sergio
Hé là.Tout d'abord, vous devrait perdre de la ValidationGroup="ContactGroup" à partir du bouton car le fait d'avoir la validation de groupe de dans il sera le premier appel de la validation sur la page alors le OnClientClick événement qui contient de la validation de la fonction qui appelle la page de validation une fois de plus.
Vous devez passer le groupe de validation "ContactGroup" à la Page_ClientValidate() la fonction de sorte qu'il sait qui contrôle pour valider parce que tout simplement l'appel de Page_ClientValidate() permettra de valider toutes les commandes quelle que soit leur groupe de validation(et il peut afficher le message de validation plus d'une fois, en fonction du nombre de groupes de validation que vous avez).
En bref faire quelque chose comme ceci:
OriginalL'auteur TestSubject09
juste retour de faux à partir de la fonction et de changer le OnClientClick comme indiqué ci-dessous:
OriginalL'auteur user259597
Il n'y a pas de manuel d'appeler le
Page_ClientValidate
fonction, sauf si vous êtes désireux de procéder à la validation de l'extérieur d'une publication tentative.Le réglage des boutons CausesValidation à
true
. Qui va exécuter la validation.OriginalL'auteur Aaron Powell
Vous pouvez faire sans validation afficher les messages, utilisez le segment de code suivant,puis utilisez isPageValid variable:
OriginalL'auteur AAlzu'bi
Supprimer l'événement click du bouton, que les forces seconde validation, je pense.
OriginalL'auteur Canavar
supprimer la onclientclick événement de bouton il n'est pas nécessaire pour que
OriginalL'auteur Meetu Choudhary
Je sais que c'est un vieux post, mais voici une solution qui peut être plus souple. Semblable à d'autres utilisateurs des suggestions, cette solution accepte le groupe de validation qui est transmis, par défaut, par le asp.net les contrôles de validation. De cette façon, vous n'auriez pas besoin d'ajouter de la
OnClientClick="validate()"
sur le Bouton de contrôle.Si vous souhaitez en savoir plus sur cette approche, je vous recommande de regarder ce post de blog:
http://hyperthink.net/blog/interception-patterns-in-javascript/
OriginalL'auteur MarcusTheShogun