2016-07-29 48 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> 

確保所有的控制輸入字段的那需要驗證有一個「名稱」屬性,因爲這是作爲密鑰進入規則對象的內容。我將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我從你的分叉與工作版本。