Sur notre site, nous utilisons un formulaire d'inscription intégré de notre ESP qui utilise le plug-in Jquery Validate. Nous personnalisons un peu le formulaire, ajoutant quelques champs personnalisés (prénom, nom) et nous voulons qu'ils soient regroupés, il n'y a qu'un seul message d'erreur pour les champs.
puisque le validateur du formulaire a déjà été initialisé, j'ai besoin d'ajouter dans quelques points de manière dynamique. Le plug-in fournit la méthode Rules ("Ajouter", règles) pour ajouter des règles de validation de manière dynamique, bien que nous utilisions simplement des noms de classe pour le faire de toute façon. Mais il n'y a pas de moyen clair de définir l'option Groupes après l'initialisation du validateur. P>
J'ai essayé quelques choses différentes pour y accomplir, mais aucune partie de travailler: p>
$("#mc-embedded-subscribe-form").validate().settings.groups = { username: "FNAME LNAME" }; $("#mc-embedded-subscribe-form").validate().groups = { username: "FNAME LNAME" };
4 Réponses :
Mettez une erreur d'erreur: "SPAN" qui est utilisé pour afficher une erreur sur la place souhaitée. Où $("#mc-embedded-subscribe-form").validate($.extend(settings, {
Je cherchais un moyen de faire cela aussi et j'ai trouvé une solution dans le forum d'aide jQuery: http://forum.jquery.com/topic/jquery-validate-defining-groups-dynamiquement
Doux, bonne trouvaille. La façon dont je me suis heurté à cela, définissez les groupes de la valeur par défaut avant d'inclure le formulaire ESP. C'est évidemment une solution bien meilleure!
J'ai récemment fait face au même problème et j'ai trouvé une solution différente.
Nous avons une table qui pousse de manière dynamique en tant qu'utilisateurs ajoutez (ou supprimez) rangées. Chaque nouvelle ligne contient plusieurs éléments et nous voulons que les éléments d'entrée de chaque lignée soient dans un seul groupe de validation - une par ligne - car nous ne voulons qu'une seule étiquette d'erreur pour chaque ligne. Parce que les lignes sont ajoutées de manière dynamique - bien après que nous appelions Nous avons piraté l'objet de validateur en modifiant directement son membre de ses groupes: p> ces deux dernières lignes sont équivalentes à p> dans les options du validateur, mais peut être ajouté après l'appel initial à valider (). P> C'est un piratage dans les internes de JQuery. Valider, mais cela fonctionne (avec JQuery Validate V1.9.0). P> Enfin, pour répondre directement à la question de l'OP: au lieu de cela: p> Notre solution h2>
var validator = $("#mc-embedded-subscribe-form").validate();
validator.groups['FNAME'] = 'username';
validator.groups['LNAME'] = 'username';
Merci pour validator.groups ['fname'] = 'Nom d'utilisateur'; validator.groups ['lname'] = 'Nom d'utilisateur'; code>
J'ai essayé chaque méthode que je pouvais trouver pour ajouter de manière dynamique des groupes. Le seul qui a fonctionné pour moi était basé sur la méthode de Ron ci-dessus. J'ai eu une table qui avait des rangées qui ont été ajoutées de manière dynamique, chacune contenant un certain nombre de champs.