0

我试图创建一个带有 jQ​​uery 验证的动态表单。验证的所有功能都已设置,但我就是不知道如何解决这个问题。

假设我们有 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' />

现在区别在于最后两个字段 - 只需正确填写其中一个。而且由于表单是动态的,用户可以自己创建组的名称,我只需要创建通用的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' />

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

4

2 回答 2

0
if ( valid(name)) && (valid(email) || valid(phone)) ) ....
于 2013-07-18T16:57:03.010 回答
0

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

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

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

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

于 2013-07-18T16:57:56.643 回答