验证动态表单(单个字段,分组字段)

时间:2013-07-18 16:53:45

标签: jquery html forms validation

我尝试使用jQuery验证创建动态表单。 所有用于验证的函数都已设置,但我无法弄清楚如何解决这个问题。

假设我们有3个字段:

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

现在使用jQuery我使用validateme类查看所有输入,并根据第二个类参数验证它们(如果字段验证失败,则在元素之后添加错误消息)。这很明显,但现在我想将最后两个字段分组:

<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' />

任何想法如何处理都会很棒:)。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

假设你的功能在这里具有普遍性。您可以使用.hasClass()函数来查看该元素是否具有该类

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

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

使用此代码,您可以检查groupedTrue var以确保至少有一个分组对象有效