我需要有关jQuery验证的帮助。基本上,我有几个静态字段,当我尝试提交表单时,验证工作正常。但是,我有一个动态添加/删除字段,我不知道谁捕获elementID并验证它。让我解释一下这个问题。
我有3个静态字段Cost,Type和Region。以下验证可以正确地使用这些字段。
$("#form1").validate({
rules: {
Cost: {
currency: true
},
Type: {
required: true
},
Region: {
required: true
}
}
});
现在,我有一个按钮可以添加(也有行的删除选项)文本框,这个添加功能也正常工作。
<input type="button" name="AddIssue" id="AddIssue" value="Add Issue" class="button2"/>
单击AddIssue按钮时,将添加以下文本框,并且元素ID将随着每个文本框的不断增加而添加,如下例所示。
<input type="text" id="Issue_1" name="Issue_1" size="5" value="" />
<input type="text" id="Issue_2" name="Issue_2" size="5" value="" />
<input type="text" id="Issue_3" name="Issue_3" size="5" value="" />
<input type="text" id="Issue_4" name="Issue_4" size="5" value="" />
我想在jQuery验证中包含任何像“Issue_”这样的elementID,并检查该值是否为空。我怎么能这样做?
请帮忙。谢谢!
答案 0 :(得分:2)
将required
类添加到新元素:
<input type="text" id="Issue_1" name="Issue_1" size="5" value="" class="required" />
jquery-validate`自动识别与其验证规则匹配的类名并应用它们。
答案 1 :(得分:1)
假设它是JQuery Validate Plugin,我认为下面将是以允许动态生成输入的方式处理它的最佳方式,并且如果您希望应用自定义消息,和/或其他使用规则的选项。
如果您只是希望它是必需的,class="required"
会按照其他答案中列出的那样进行。
<强> PER THE DOCS 强>
示例:添加名为“name”的新复合规则,替换 class =“required”minlength =“2”with class =“name”。
当前代码
$("#form1").validate({
rules: {
Cost: {
currency: true
},
Type: {
required: true
},
Region: {
required: true
}
}
});
添加代码
jQuery.validator.addClassRules("issue", {
required: true,
minlength: 2
});
有了这个,我们可以在所有客户领域添加一个类客户,并完成它:
所以你的输入需要像这样应用一个类。
<input type="text" id="Issue_1" name="Issue_1" size="5" value="" class="issue"/>
<input type="text" id="Issue_2" name="Issue_2" size="5" value="" class="issue"/>
<input type="text" id="Issue_3" name="Issue_3" size="5" value="" class="issue"/>
<input type="text" id="Issue_4" name="Issue_4" size="5" value="" class="issue"/>
然后,您可以使用该类添加所需的任何输入,它将根据“问题”ClassRules
进行验证。
<强> JSFIDDLE 强>