2016-07-29 29 views
0

を選択した場合、私は、次のプラグインJQuery ValidationjQueryの検証プラグイン - オプションは

を参照していますフィールドを検証私は基本的に、選択入力今、この入力が必要とされて

<select class="form-control" id="taskSelect" name="taskSelect" > 
    <option value="" name="task" id="task">Select One</option> 
    <option value="1" name="task">1</option> 
    <option value="2" name="task">2</option> 
</select> 

を持っています。選択した内容に応じて、サブフォームの種類が表示されます。私がしようとしているのは、表示されているサブフォームの検証です。したがって、オプション1を選択した場合、オプション2のフィールドを検証する必要はありません。デモするためにJSFiddleを設定しました。

選択したオプションの追加入力を検証するにはどうすればよいですか?あなたはとても(明確にするため最小マークアップ)のような検証ルールを設定する必要が

おかげ

答えて

0

HTML:

<form> 
    <select id="Controller" name="Controller"> 
     <option value="1">Make Controller 1 Required</option> 
     <option value="2">Make Controller 2 Required</option> 
    </select> 
    <input name="Controlled_1" /> 
    <input name="Controlled_2" /> 
</form> 

その制御入力フィールドのすべてのことを確認してくださいバリデーションの必要性は "name"属性を持っています。なぜなら、それがルールオブジェクトにキーとして入るからです。コントロールされた入力フィールドで使用される必須の関数で簡単にターゲットを設定できるように、コントロールのselect要素にIDを残しました。

はJavaScript:

$('form').validate({ 
    rules: { 
     Controller: { 
      required: true 
     }, 
     Controlled_1: { 
      required: function() { 
       return $('#Controller').val() == 1 
      } 
     }, 
     Controlled_2: { 
      required: function() { 
       return $('#Controller').val() == 2 
      } 
     } 
    }, 

Here is a JSFiddle私は作業バージョンにあなたからフォーク。