J'ai un formulaire avec plusieurs champs que je suis la validation (certains avec des méthodes ajoutées pour la validation personnalisée) avec Jörn Zaeffere excellent plugin jQuery Validation. Comment contourner la validation avec spécifiée soumettre aux contrôles (en d'autres termes, le feu de validation avec certains soumettre des entrées, mais pas de feu de validation avec les autres)? Ce serait semblable à ValidationGroups avec la norme ASP.NET des contrôles de validateur.
Ma situation:
C'est avec ASP.NET WebForms, mais vous pouvez l'ignorer si vous le souhaitez. Cependant, je suis en utilisant la validation plus qu'une "recommandation": en d'autres termes, lorsque le formulaire est soumis, à la validation des feux mais au lieu d'une "obligation" d'affichage des messages, une "recommandation", montre que, dit quelque chose le long de la ligne de "vous avez raté les champs suivants.... voulez-vous continuer, de toute façon?" À ce point dans l'erreur conteneur il y a un autre bouton soumettre maintenant visibles qui peuvent être pressés qui ne tiendrait pas compte de la validation et de soumettre de toute façon. Comment contourner les formes .validate() pour ce bouton de contrôle et encore de post?
Le Acheter et Vendre une Maison de l'échantillon à http://jquery.bassistance.de/validate/demo/multipart/ permet de faire cela dans le but de toucher les liens ci-dessus, mais il le fait à travers la création de méthodes et de l'ajouter au programme de validation. Je préfère ne pas avoir à créer des méthodes de dupliquer les fonctionnalités déjà dans la validation du plugin.
Ce qui suit est une version abrégée de l'applicables immédiatement script que j'ai maintenant:
var container = $("#<%= Form.ClientID %> div.validationSuggestion");
$('#<%= Form.ClientID %>').validate({
errorContainer: container,
errorLabelContainer: $("ul",container),
rules: {
<%= YesNo.UniqueID %>: { required: true },
<%= ShortText.UniqueID %>: { required: true } // etc.
},
messages: {
<%= YesNo.UniqueID %>: 'A message.',
<%= ShortText.UniqueID %>: 'Another message.' // etc.
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass("valid");
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass("valid");
},
wrapper: 'li'
});
Merci beaucoup à l'avance pour les renseignements utiles.
[Mise à JOUR] Grâce à redsquare j'ai découvert qu'il est aussi facile que d'ajouter class="annuler" pour le bouton "soumettre". Si facile et pourtant je n'ai aucune idée de comment je n'ai pas rencontré de toute ma recherche.
Et pour ceux qui disent que mon suivi de répondre au sujet ", mais nécessite un double-clic": c'était simplement dû à un reste de l'expérience qui était la déliaison de l'événement - de nouveau, quelque chose que je ne sais pas comment j'ai négligé lors de l'essai. Merci!