Jquery验证插件 - 验证要添加的字段

时间:2014-04-29 01:54:06

标签: jquery jquery-validate

我需要有关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,并检查该值是否为空。我怎么能这样做?

请帮忙。谢谢!

2 个答案:

答案 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