jQuery Validate - 重复字段的规则和消息

时间:2016-11-26 11:14:10

标签: jquery jquery-validate

我有一个表格,其中一部分正在重复。由于输入字段的名称是一组字段的一部分。例如:

Title

使用jQuery Validation Plugin(https://jqueryvalidation.org)时,我无法找到为这些字段设置规则和消息的方法,例如:

<input type="text" name="order[line1][address1]" id="address1_line1"> 
<input type="text" name="order[line2][address1]" id="address1_line2">

.. *是一个通配符。

我可以像这样在输入中添加一个必需的标签:

$("#registration-form").validate({
        rules: {
            order[*][address1]: "required",
        },
        messages: {
            order[*][address1]: "Please enter an address",

        }
    }); 

...但我仍然无法在验证中添加自定义消息。

感谢任何人的帮助。

2 个答案:

答案 0 :(得分:2)

你不能直接这样做......

$("#registration-form").validate({
    rules: {
        order[*][address1]: "required",
    },
    messages: {
        order[*][address1]: "Please enter an address",

    }
});

...因为插件正在寻找元素的确切name,而不是通配符选择器。

但是,使用the .rules('add') method结合a "contains" selectora jQuery .each(),您可以执行以下操作,将required规则应用于包含{{1的所有字段名称}} ...

"address"

答案 1 :(得分:0)

您可以使用自定义验证创建变量。

var ruleSet = {
    required: true,
    number: true
};

$('#myForm').validate({
    rules: {
        field1: ruleSet,
        field2: ruleSet,
        field3: ruleSet
    }
});