我尝试使用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' />
任何想法如何处理都会很棒:)。
答案 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以确保至少有一个分组对象有效