JQueryValidation基于html属性添加动态验证规则

时间:2014-03-04 16:12:33

标签: javascript jquery jquery-validate

我的页面上有一系列输入,具有相同的css类。我想基于我在其父对象上设置的属性向它们添加jqueryvalidation规则。规则添加正常,但我设置的最大值是错误的。这是.js

$('.countable input').each(function() {
    var input = $(this);
    var parent = input.closest('.countable');
    var dataMax = parseInt(parent.attr('data-max'));
    input.rules("add", {
        number: true,
        min: 0,
        max: dataMax,
        messages: {
            number: "Must be a number",
            max: "Must be less than or equal to " + dataMax
        }
    });
});

我遇到的问题是,每个分配了最大值的输入最终都会得到最大值6,这恰好是每个函数分配的最后一个输入。如果我逐步执行每个操作,我可以看到dataMax在分配时具有正确的值,但每个输入都获得分配给它的相同数据。还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

考虑用于验证的每个输入元素必须包含唯一的name属性。这是插件跟踪输入的方式。