jquery - 使用jQuery验证器插件,如何使用动态创建的名称属性来分配规则?

标签 jquery jquery-validate name-attribute

问题是这样的:

我们使用的电子商务系统会为购买的每个产品生成一个订单项。当订单项在页面中向下移动时,它为订单项的数量输入提供名称属性“qty0”、“qty1”、“qty2”等。

我需要检查这些 qtyX 输入的有效性,但我不知道如何将名称属性作为另一个属性(如类)的相对属性传递,或者将正则表达式传递给验证插件以查找所有数量字段。

这是验证代码:

var validator = $("#formName").validate({
    rules: {
        qty: { customMethod: true}// qty
        },//rules

    messages: {
        qty: {customMethod: "NOPE"}
    },

    errorPlacement: function(error, element) {
            error.appendTo("#itemQuantityError");
    },

});

以下是生成的输入示例:

<td ><input name="qty1" value="6" size="5"></td>

谢谢!!

最佳答案

您可以动态生成规则和消息:

var rules = new Object();
var messages = new Object();
$('input[name^=qty]:text').each(function() {
    rules[this.name] = { required: true };
    messages[this.name] = { required: 'This field is required' };
});

var validator = $("#formName").validate({
    rules: rules,
    messages: messages,
    errorPlacement: function(error, element) {
        error.appendTo("#itemQuantityError");
    }
});

关于jquery - 使用jQuery验证器插件,如何使用动态创建的名称属性来分配规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700295/

相关文章:

jquery - 为复选框数组放置错误消息

javascript - jQuery Validator——显式通知验证器元素的有效状态改变

jQuery 手动验证而不显示错误

angular - 无法找到具有未指定名称属性的控件 Angular 14

Javascript 只触发一次

jQuery 动画 : change speed while it is running

javascript - 为重复的 div 打开图像预览

javascript - 尝试创建一个简单的画廊 slider

javascript - 在同一页面上多次显示wavesurfer.js

html - 为什么他们弃用 HTML <a> 元素的 'name' 属性?