2013-07-18 97 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

这是更接近我曾经是,但仍然 - 如果有多个组,这只会在默认的'分组'的类,并将不适用于不同的分组元素。问题是可能有几个不同的组,并且在每个组中只有一个元素需要有效。 –