2012-10-24 3 views
0

Voulez-vous désactiver les règles de validation pour certains champs en fonction de l'entrée de l'utilisateur. Travailler avec le plugin jquery validator, est-ce possible? Le jsFiddle est ici: http://jsfiddle.net/webhelpla/3eQam/Ajout et suppression de règles dans JQuery Validator en fonction de l'entrée de l'utilisateur?

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-latest.js"></script> 
     <script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script> 

     <script type="text/javascript"> 
      $(document).ready(function(){ 
      $("#form").validate(); 
      }); 

     </script> 
    </head> 
    <body> 


     <form id="form" method="get" action=""> 

     <p> 
      <label>Validate all 
      <input type="radio" name="fields_to_validate" value="all" id="fields_to_validate_0"> 
      </label> 
     </p>  
     <p>   
      <label> Validate name only 
      <input type="radio" name="fields_to_validate" value="name" id="fields_to_validate_1"> 
      </label>  
     </p> 

     <p> 
      <label for="cname">Name</label> 
      *<input id="cname" name="name" size="25" class="required" minlength="2" /> 
     </p> 

     <p> 
      <label for="cemail">E-Mail</label> 
      *<input id="cemail" name="email" size="25" class="required email" /> 
     </p> 

     <p> 
      <input class ="submit" type="submit" value="Submit"/></p></form> 
    </body> 
    </html> 

Répondre

1

Qu'est-ce que vous êtes à la recherche est un argument de condition au champ

Je crois qu'il va comme ceci, retirez les classes requises codées dur à partir de vos éléments d'entrée, le nom de la radio à deux boutons indiquant vos champs obligatoires comme des noms différents comme name_only et:

$('form').validate({ 
    rules: 
     name:{ 
        required: function() { 
     return $("input:radio[name='nameonly']:checked").val() == 'yes'; 
     } 
    } 
    }); 

si ce ne est pas déterminer ce qui devrait être requis par les entrées utilisateur directes dynamiquement, ses entrées nécessaires deviennent fondées sur des données conditionnelles

+0

Merci, c'est l'approche que j'ai prise. L'API est ici: http://docs.jquery.com/Plugins/Validation/validate#options (cliquez sur l'onglet Options et faites défiler jusqu'à des règles) – aaandre

Questions connexes