Javascript jQuery Validate addMethod()参数始终返回true

Javascript jQuery Validate addMethod()参数始终返回true,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我有一个自定义的验证规则,所以我使用addMethod来检查它。在规则方面,我发送一些JSON格式的字符串,以便在addMethod上获取 $.validator.addMethod("chkduplicate", function(value, element, params) { console.log(params); }, "This field value already exists."); 规则应该如下所示: rules: { meter_id: { requ

我有一个自定义的验证规则,所以我使用addMethod来检查它。在规则方面,我发送一些JSON格式的字符串,以便在
addMethod
上获取

$.validator.addMethod("chkduplicate", function(value, element, params) {
    console.log(params);
}, "This field value already exists.");
规则应该如下所示:

rules: {
  meter_id: {
    required: true,
    digits: true,
    chkduplicate: '{ "table_name": "users", "fld_name": "user_id"}'
  }
}
这里,
chkduplicate
是我发送给addMethod的参数,但是当我试图控制参数时,它总是返回true,但它应该是
{“table_name”:“users”,“fld_name”:“user_id”}

我在用这个

类型:对象 为方法指定的参数,例如,对于最小值:5,参数为5,对于范围:[1,5]为[1,5]

你的是线;试试这个

rules: {
  meter_id: {
    required: true,
    digits: true,
    chkduplicate: { "table_name": "users", "fld_name": "user_id"}
  }
}
类型:对象 为方法指定的参数,例如,对于最小值:5,参数为5,对于范围:[1,5]为[1,5]

你的是线;试试这个

rules: {
  meter_id: {
    required: true,
    digits: true,
    chkduplicate: { "table_name": "users", "fld_name": "user_id"}
  }
}

为什么要尝试JSON.parse
params
?它应该已经是一个对象。我在这里看不到JSON。JSON是对象数据的文本表示……但在我看来,上面的
规则
看起来像是实际的JavaScript对象文本。在任何情况下,除非您从其他地方获取规则数据(例如,通过AJAX从远程服务器获取),否则就没有理由需要JSON.ok,我删除了JSON.parse,但是,这没有问题,我是说params是个问题您的addMethod/验证调用看起来像什么?我猜问题就在那里,而不是在你展示给我们的代码中。只要写
chkduplicate:{“table_name”:“users”,“fld_name”:“user_id”}
没有单引号…就我所能看到的而言,没有必要把它变成字符串。我猜这是一种定制的验证插件…所以如果你告诉我们你在使用什么插件,那么我们就可以理解它的实际工作原理了。你为什么要尝试JSON.parse
params
?它应该已经是一个对象。我在这里看不到JSON。JSON是对象数据的文本表示……但在我看来,上面的
规则
看起来像是实际的JavaScript对象文本。在任何情况下,除非您从其他地方获取规则数据(例如,通过AJAX从远程服务器获取),否则就没有理由需要JSON.ok,我删除了JSON.parse,但是,这没有问题,我是说params是个问题您的addMethod/验证调用看起来像什么?我猜问题就在那里,而不是在你展示给我们的代码中。只要写
chkduplicate:{“table_name”:“users”,“fld_name”:“user_id”}
没有单引号…就我所能看到的而言,没有必要把它变成字符串。我猜这是某种自定义验证插件……因此,如果您告诉我们您正在使用的插件,那么我们就可以了解它的实际工作原理了。@JothiKannan它是否仍然打印
true
?@JothiKannan在主线程上查看我上面的评论。理论上,你的代码应该是好的(答案中的代码也应该是好的)。我做了一个演示来证明这一点。因此,如果您仍然有问题,您需要在问题中添加足够的真实代码,以便我们能够重现该问题。和/或您可以使用代码更新演示页面,使其崩溃。然后我们可以看看要修复什么。目前,您尚未向我们提供关键信息,使其按照您所描述的方式运行。@JothiKannan请参见此处,我已制作了一个示例编辑,使其看起来像您的code@JothiKannan它是否仍然打印
true
?@JothiKannan在主线程上查看我的评论。理论上,你的代码应该是好的(答案中的代码也应该是好的)。我做了一个演示来证明这一点。因此,如果您仍然有问题,您需要在问题中添加足够的真实代码,以便我们能够重现该问题。和/或您可以使用代码更新演示页面,使其崩溃。然后我们可以看看要修复什么。目前,您尚未向我们提供关键信息,以使其按照您所描述的方式运行。@JothiKannan请参见此处,我制作了一个示例编辑,使其看起来像您的代码