La page encore Postbacks après validation de JQuery échoue

J'ai une page de formulaire Web ASP.Net sur laquelle j'ai appliqué la validation JQuery. Le problème est que, lorsque la validation échoue, la page affiche encore des rendements. J'ai deux boîtes de texte required : true validation. C'est mon code de bouton de soumission:

 <button id="btnSubmit" class="btn btn-info" type="button" onserverclick="btnSubmit_Click" onclick="checkValidate(event);" causesvalidation="true" runat="server"> <i class="icon-ok bigger-110"></i>Submit </button> 

C'est la méthode valide de JQuery:

 $(function() { $('#validationForm').validate({ errorElement:'span', errorClass: 'help-inline', focusInvalid: false, //debugger; rules: { <%=txtName.UniqueID %>: { required: true }, <%=txtDescription.UniqueID %>: { required: true } }, messages: { <%=txtName.UniqueID %>: { required: "Please provide a valid name." }, <%=txtDescription.UniqueID %>: { required: "Please specify a description." }, }, invalidHandler: function (event, validator) { //display error alert on form submit $('.alert-error', $('.login-form')).show(); }, highlight: function (e) { $(e).closest('.control-group').removeClass('info').addClass('error'); }, success: function (e) { $(e).closest('.control-group').removeClass('error').addClass('info'); $(e).remove(); }, submitHandler: function (form) { }, invalidHandler: function (form) { } }); }) 

Et c'est la méthode qui vérifie la validation sur le clic de bouton:

 function checkValidate(evt) { // Validate the form and retain the result. // var isValid = $('#validationForm').valid(); // // If the form didn't validate, prevent the form submission. // //debugger; if (!isValid){ evt.preventDefault(); evt.stopPropagation(); return false; } else return true; } 

C'est le HTML rendu de mon bouton:

 <button onclick="checkValidate(event); __doPostBack('ctl00$ContentPlaceHolder1$btnSubmit','')" id="ContentPlaceHolder1_btnSubmit" class="btn btn-info" type="button"> <i class="icon-ok bigger-110"></i>Submit </button> 

De plus, j'ai mis le débogueur dans la méthode checkValidate (), et j'ai constaté que tout fonctionnait bien là-bas, mais après la fin de la méthode, les postbacks de la page. J'ai exécuté la méthode JQuery valide () sur la console du navigateur, et elle fonctionne aussi bien, renvoyant les valeurs correctes.
Lorsque Textbox (es) est vide: Lorsque Textbox (es) est vide Lorsque les zones de texte sont remplies: Lorsque les zones de texte sont remplies

Où est exactement le problème? Comment puis-je arrêter la page de postback lorsque la validation échoue?

utilisation

Onclick = "return checkValidate (event);"

Vous pourriez faire ceci:

 onclick="if (checkValidate(event)) {YOURMETHODTOEXECUTE_ON_SUCCESS()}" 

Évidemment, vous devrez refactoriser votre code un peu, mais cela devrait fonctionner de cette façon.

Sur la base du commentaire, dans ce cas, vous pouvez utiliser ceci:

Onclick = "return !! yourFunction ()"

Pas besoin de modifier votre onserverclick = ""

Je l'ai finalement terminé. Je viens d'ajouter onsubmit property sur mon formulaire et de définir la méthode jquery valide.
C'était mon code postal

 <form class="form-horizontal" id="validationForm" method="post" runat="server"> 

Et c'est après que je l'ai changé.

 <form class="form-horizontal" id="validationForm" onsubmit="return $('#validationForm').valid()" method="post" runat="server"> 

Je pensais que je ne sais toujours pas pourquoi il déclenche le retour même lorsque la validation est renvoyée