2013-07-18 143 views
0

我試圖創建一個帶有jQuery驗證的動態表單。 驗證的所有功能都已設置,但我無法弄清楚如何解決這個問題。驗證動態表單(單個字段,分組字段)

讓我們假設我們有3個領域:

<input .... class='validateme name' /> 
<input .... class='validateme email' /> 
<input .... class='validateme phone' /> 
現在使用jQuery

我去通過與validateme類的所有投入,並對其進行驗證,根據第二類參數(如果現場驗證失敗,之後加入的錯誤信息元件)。這是很明顯的,但現在我想組最後2場:

<input .... class='validateme name' /> 
<input .... class='validateme email grouped group_a' /> 
<input .... class='validateme phone grouped group_a' /> 

現在的差別是過去2場 - 只需要其中的一個要填寫正確。 因爲表單是動態的,所以用戶可以自己創建組的名稱,我只需要創建通用的jQuery函數,並且如果元素具有類grouped那麼只有其中一個字段需要正確。

有可能的情況是這樣的:

<input .... class='validateme email grouped group_a' /> 
<input .... class='validateme phone grouped group_a' /> 
<input .... class='validateme name grouped group_b' /> 
<input .... class='validateme name grouped group_b' /> 

任何想法如何處理這將是巨大的:)。

+0

我們可以看到你的驗證碼(javascript/jquery)? – showdev

回答

0
if (valid(name)) && (valid(email) || valid(phone))) .... 
0

假設你在這裏有你的功能是普遍的。您可以使用.hasClass()函數來查看是否元素有類

$.each($('.validateme'),function(key,val) 
{ 
    var groupedTrue = false; 
    //some code 

    if ($(val).hasClass('grouped') && isValid(key)) 
    { 
     groupedTrue = true; 
    } 
} 

有了這個代碼,您可以檢查groupedTrue變種,以確保至少一個分組的對象是有效的

+0

這是更接近我曾經是,但仍然 - 如果有多個組,這隻會在默認的'分組'的類,並將不適用於不同的分組元素。問題是可能有幾個不同的組,並且在每個組中只有一個元素需要有效。 –