0

ユーザー入力に応じて、特定のフィールドの検証ルールを無効にします。

jqueryバリデータープラグインを使用して、それは可能ですか?JSfiddleはここにあります:http://jsfiddle.net/webhelpla/3eQam/

    <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>
4

1 に答える 1

1

あなたが探しているのは、フィールドへの条件引数です

これは次のようになると思います。入力要素からハードコードされた必須クラスを削除し、必須フィールドを示す2つのラジオボタンにname_onlyや次のような異なる名前を付けます。

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

したがって、直接のユーザー入力によって動的に何が必要かを決定するのではなく、条件付き入力に基づいて入力が必要になります。

于 2012-10-24T02:00:08.997 に答える