attacher la validation jquery à l’élément de remplacement

J’ai un formulaire ASPNET MVC avec une liste déroulante, que je remplace par une liste déroulante JQuery.

la liste déroulante d’origine est associée à une validation client – elle utilise la bibliothèque peu encombrante avec la commande standard jquery validate -, et j’aimerais plutôt que cette validation soit attachée à la liste déroulante.

dans le cadre de la génération de la liste déroulante, le nom est supprimé du compte-gouttes et défini à la place sur un champ masqué. le problème auquel je suis confronté est que le message de validation ne s’affiche alors pas pour la liste déroulante (champ masqué), lorsqu’il est invalide (vide dans ce cas).

y a-t-il un moyen de relier le champ caché pour le valider comme le ferait la liste déroulante? J’ai essayé plusieurs choses:

  1. avec la définition du nom du champ masqué sur le nom de la liste déroulante – copier les atsortingbuts data-val et data-val-required, mais je n’ai aucune chance avec cela. Je me rends compte que lorsque le champ caché est ajouté dynamicment, le validateur ne le détectera pas, mais figurera au fur et à mesure que la validation sélectionne par son nom (autant que je sache), cela pourrait fonctionner. J’ai essayé de ré-parsingr le formulaire pour qu’il prenne le champ caché, mais comme la règle d’origine rest en vigueur, cela ne semble pas fonctionner.
  2. J’ai également essayé de ne pas utiliser de champ caché et de laisser la validation sur le compte-gouttes d’origine – qui, lorsque les éléments de la liste déroulante sont définis, définit également la valeur dans le compte-gouttes. cela ne fonctionne pas non plus – je présume, car la liste déroulante est masquée, car si je la laisse montrer que la validation fonctionne bien.

J’utilise la liste déroulante bootstrap jQery que j’ai légèrement modifiée pour fonctionner avec les groupes d’options.

Quelqu’un peut-il offrir de l’aide s’il vous plaît?

Merci

Le plugin que vous utilisez cache l’entrée et la remplace par son propre code HTML. Par défaut, la validation jQuery ne valide pas les contrôles de formulaire masqués, mais vous pouvez remplacer ce comportement en modifiant le validateur.

 $.validator.setDefaults({ ignore: [] }); 

Notez que si vous avez d’autres éléments cachés que vous ne souhaitez pas valider, vous pouvez atsortingbuer à l’élément un nom de classe.

 $.validator.setDefaults({ ignore: ":hidden:not('.combobox')" }); 

Remarque: Assurez-vous que ce script est en dehors de la fonction $(document.ready) .