传递参数的语法,取决于 jquery 验证中的自定义方法

syntax for passing params and depends to custom method in jquery validate

我正在尝试向 jquery 验证中的自定义验证例程添加依赖子句。传递参数对象的语法是什么?所以它应该检查存档日期是否在 publishDate 中的值之后,但前提是未选中该复选框。请注意,该方法在没有依赖时工作正常,我只是添加 afterDate: '#publishDate'。我只是想弄清楚如何将 params 对象传递给函数...

archiveDate.rules("add",{
        afterDate: {
            params: ["#publishDate"],
            depends: '#publishNow:unchecked'
        },
        messages: {
          afterDate: 'Archive date should be after publish date'
        }
    }
)

语法与在 .validate() 方法中使用时的语法相同。

  • depends 逻辑需要包装在一个函数中,即 returns truefalse.

  • 拼写为param,不是params

Refer to the documentation.

假设 archiveDate 表示验证目标元素的有效 jQuery 选择器,并且 afterDate 表示自定义方法名称...

archiveDate.rules("add",{
    afterDate: { // <- name of custom method
        param: ["#publishDate"],
        depends: function(element) {
            return $('#publishNow').is(':unchecked');
        }
    },
    messages: {
        afterDate: 'Archive date should be after publish date'
    }
});

注意:由于afterDate 是自定义方法,因此您不需要将其与depends 一起使用。该逻辑可以很容易地内置到自定义方法本身中。