2013-08-19 53 views
6

我有2個字段的表格;手機號碼。和電話號碼。jQuery驗證插件,需要兩個場中的一個出來

至少字段1具有被填充在,但兩者也可填補。

我需要JQuery驗證,如果他們都不不僅填補拋出一個錯誤。

我有實現了這個:

rules: { 
      mobile:{ 
       required: { 
        depends: function(element) { 
         return $("#regTelephone").val() === ''; 
        } 
       } 
      }, 
      telephone:{ 
       required: { 
        depends: function(element) { 
         return $("#regMobile").val() === ''; 
        } 
       } 
      } 
} 

然而,如果只有一個字段爲空,這個領域仍然得到「有效」類,我不希望我的有效的CSS有一個綠色的邊框(所以空場仍然得到一個綠色的邊框)

這樣:我怎麼是空場(提供其他有一個值)沒有得到有效類,因此綠色邊框?

+0

你可以把一個if之後的語句進行驗證,以去除有效的類,如果'.val'爲空 –

+1

@Zeaklous,僅供參考,插件已經有一個名爲'require_from_group'規則/針對這種情況的方法。 – Sparky

回答

13

使用the optional additional-methods.js file,有一個叫做require_from_group已經做了你要求什麼方法。 (您必須避免過去的錯誤使用至少插件的版本1.11.1)

rules: { 
    mobile:{ 
     require_from_group: [1, '.mygroup'] 
    }, 
    telephone:{ 
     require_from_group: [1, '.mygroup'] 
    } 
}, 
.... 

1參數是多少從組是必需的。在HTML標記中,組中的字段必須包含與第二個參數中指定的class匹配的class

<input type="text" class="mygroup" name="mobile" /> 
<input type="text" class="mygroup" name="telephone" /> 

工作DEMOhttp://jsfiddle.net/NfcxX/

我演示還展示了groups選項,它結合了多個錯誤信息爲一體。

+0

我遇到了這個問題。它似乎阻止了其他字段的驗證。我已經添加了最初的「標題」字段和驗證得到忽略:http://jsfiddle.net/NfcxX/19/ – Andy

+1

@Andy,有一些議論,在GitHub上有關此錯誤被固定在最新的測試版尚未釋放。 – Sparky

-1
<input type="text" name="mobile" id="regMobile"> 
<input type="text" name="telephone" id="regTelephone"> 

rules: { 
      mobile:{ 
       required: { 
        depends: function(element) { 
         return $("#regTelephone").val() == '' 
        } 
       } 
      }, 
      telephone:{ 
       required: { 
        depends: function(element) { 
         return $("#regMobile").val() == '' 
        } 
       } 
      } 
} 
+0

如果這很簡單,我們不需要'require_from_group'方法。 – Sparky

相關問題