2 votes

Comment puis-je faire en sorte que la validation de formulaire côté client d'ASP.NET MVC3 soit exécutée avant l'événement post du formulaire personnalisé ?

J'ai une vue avec un formulaire qui utilise la validation discrète côté client dans asp.net mvc 3 pour valider les champs du formulaire.

J'ai également un jquery script personnalisé pour soumettre le formulaire via ajax.

$(document).ready(function () {
    $('#Submit').click(function (event) {

        /* collect form input values as json*/
        /* post the json data via ajax */

        event.preventDefault();
        event.stopPropagation();
    });
});

Ma question est la suivante : comment puis-je modifier l'ordre des gestionnaires d'événements pour que la validation côté client d'asp.net mvc 3 soit appelée avant mon gestionnaire de post de formulaire ajax afin que le gestionnaire d'asp.net mvc puisse empêcher mon gestionnaire d'être appelé s'il y a des erreurs de validation.

Le problème que je rencontre est que le gestionnaire d'événements de validation javascript non intrusif d'asp.net mvc 3 n'est pas déclenché avant mon gestionnaire d'événements.

En désactivant le code à la fin de mon script qui empêche la poursuite de la propagation des événements, je peux voir que la validation côté client de asp.net mvc 3 est effectivement déclenchée après l'exécution de mon gestionnaire.

4voto

Rodrigo Caballero Points 458

Vous pouvez appeler la méthode :

$('form').valid()

à l'intérieur de votre événement. Peut-être que ce message vous aidera :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X