Définir la validation pour div à l’aide de la validation jQuery

J’utilise le jQuery validation plugin , pour la validation de mon formulaire. Cependant, je ne peux pas définir la validation pour une div .

Voici ce que j’ai essayé jusqu’à présent

HTML:

 

JS:

 $('#form').validate({ rules: { isLocationEmpty: true; } }); 

CustomValidation Mehthod:

 $.validator.addMethod('isLocationEmpty', function (value, element) { var loc = $('#location').text(); return (loc != "") }, 'REQUIRED.'); 

Je ne l’ai pas fait auparavant, veuillez fournir vos suggestions.

Citation OP:

“J’utilise le plug-in jQuery Validation pour la validation de mon formulaire … Cependant, je ne parviens pas à définir la validation d’une div . Je ne l’ai pas encore fait, veuillez fournir vos suggestions.”

Vous ne pourrez jamais utiliser le plugin jQuery Validate pour valider un div . Le balisage HTML approprié pour l’entrée de données consiste à utiliser un élément d’entrée.

Ce plugin ne fonctionnera que sur les types d’éléments de saisie de données suivants (chacun doit avoir un atsortingbut name unique), qui doit également figurer dans un conteneur d’éléments de form :

 

Voir également la page “référence” dans la documentation: http://jqueryvalidation.org/reference/


Apparemment, l’OP ne peut pas changer le code HTML. Voici une solution de contournement très laide.

Code pouvant être utilisé pour copier le texte de la div dans un élément type="hidden" , l’élément caché pouvant ensuite être validé avec le plugin. Ce code peut être appelé à tout moment ou placé dans un gestionnaire d’événements pour déclencher un flou ou un changement:

 $("#hidden").val( $('#div').text() ); 

Voici le jQuery correspondant:

 $('#form').validate({ ignore: [], // <-- validate hidden elements // other options, rules, and callbacks, }); 

Je ne sais pas trop pourquoi vous essayez de valider une div, mais je suggère d’en faire une zone de texte. Au cas où vous deviez rendre “impossible” la modification par l’utilisateur, ajoutez l’atsortingbut readonly.