Jquery Ajax Valider les cases à cocher

Probablement une solution simple donc je suis un peu gêné, mais JS n’est pas vraiment mon fort, alors je pense que je vais demander.

J’utilise le plugin Jquery Form pour soumettre un groupe de cases à cocher relatives aux exigences d’une application de planification d’événements que je crée.

Je ne parviens pas à faire que mon rappel de préenvoi de validation refuse le formulaire s’il n’y a pas de clé de tableau pour ‘exigence’. Je sais qu’en php, je pourrais simplement utiliser quelque chose comme array_key_exists ou simplement vérifier à l’aide de isset (), mais je ne suis pas sûr de savoir quel est le lien entre js le code suit.

I'm planning on getting:

opt_r as $r){?> <input type="checkbox" value="" name="requirement[]"/>

Et puis le js associé qui court après le formulaire est chargé dans:

  function eventTypeChosen(responseText, statusText, xhr, $form) { var options = { target: '#app', beforeSubmit: formSubmitCheck, success: reqsChosen }; setNav(); $('#choose_reqs').ajaxForm(options); } function setNav(){ $('#start_over').click(start); } function formSubmitCheck(formData, jqForm, options){ if(formData.hasOwnProperty('requirement')){ alert('Please check at least one requirement'); return false; }else{ $(jqForm).fadeOut(200); return true; } } 

Il est évident que quelque chose ne va pas avec la méthode .hasOwnProperty () et la façon dont je l’utilise.

 function formSubmitCheck(formData, jqForm, options){ if($('input[name=requirement[]]').fieldValue().length==0){ alert('Please check at least one requirement'); return false; }else{ $(jqForm).fadeOut(200); return true; } } 

Depuis la page du plugin de formulaire que vous avez liée dans vos commentaires:

formData est un tableau d’objects représentant le nom et la valeur de chaque champ qui sera envoyé au serveur …

Essayez d’imprimer l’object formData sur la console pour pouvoir en vérifier la structure.