针对动态字段的jquery验证

前端之家收集整理的这篇文章主要介绍了针对动态字段的jquery验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用jQuery的验证插件,并希望验证许多动态添加的文本字段,以便根据单独的总字段检查其总和.

过去我已经编写了自己的验证方法,但是只有简单的方法可以使用基本的正则表达式结构,这些结构很容易从additional-methods.js文件中重现.

具体来说,jQuery网站提供了一个使用addMethod() function做一个非常相似的例子:

jQuery.validator.addMethod("math",function(value,element,params) { 
 return this.optional(element) || value == params[0] + params[1]; 
},jQuery.format("Please enter the correct value for {0} + {1}"));

params参数的实现或多或少缺乏记录.我能够找到如何在a seperate stackoverflow thread内容传递给参数.但是,在该示例中传入params的数组是静态的.我需要传递给params的数组根据在“运行时”上添加的动态添加行增长和收缩…

我已经上传了一个完全删除的版本onto jsfiddle供您观看.
请注意,代码中嵌入了一些我有疑问的意见,而且我删除了Remove功能,因为它只是增加了混乱,并没有帮助说明这一点.

那么如何使用jQuery验证库来确保动态添加的字段添加到特定的总数?先谢谢你!

解决方法

这是我的验证器版本.

http://jsfiddle.net/linkabi9/shBxv/

你会注意到,而不是参数的静态数字,我传递一个选择器.数组中的一个元素是存款字段的选择器.我给每一个现有的和新的存款输入一个类“setamount1”,你可以使用任何你想要的类.您将此验证器设置的字段将为“总金额”字段.

我还向存款字段添加了一个现场“变更”事件.这将对每个变化运行验证.我必须警告你,这样做整个形式的验证不仅仅是存款和总领域.

现在您可以在同一个表单/页面中重复使用此验证器类型多次!

我去了下面的验证器代码.另外,验证器初始化的一个例子.

jQuery.validator.addMethod("depositsSum",params)
{       
    var amnts = 0;
    $(params[0]).each(function() {
        amnts += parseFloat($(this).val());
    });

    return this.optional(element) || amnts == parseFloat(value);
},jQuery.format("Individual deposits must add up to the total!"));

$("#depositForm").validate({
    rules: {
        fullAmount: {
            depositsSum: [".amountset1"]
        }
    }
});

猜你在找的jQuery相关文章