jQuery验证自定义方法规则和带动态名称的消息?

时间:2015-02-09 21:29:32

标签: javascript jquery jquery-validate

我有一个验证规则,我想使用变量varFunctionID添加,它代表一个自定义验证方法。它不是查找变量的值,而是搜索名为varFunctionID的函数,该函数不存在。如何确保使用变量的值而不是名称?另外,我不能用名字代替变量。

var varFunctionID = "nameOfMyCustomValidationFunction";

$('#myField').rules('add', {
    varFunctionID: true
    },
    messages: {
        varFunctionID: "My message."
    }
});

*编辑* 没有办法让这个名字变得动态。处理这种需求的方法是将参数传递给验证方法,如下所示:

$('#myField').rules('add', {
    myFunction: { myParm: "parm" }
    },
    messages: {
        myFunction: "My message."
    }
});

jQuery.validator.addMethod("myFunction", function (value, element, options) {
            var passParm= options.myParm;
});

1 个答案:

答案 0 :(得分:0)

不确定为什么你需要做这样的事情。在编写OP时,我们完全不清楚为什么你不能首先使用自定义方法的实际名称。

你无法做你想要的事情。您需要在.rules()方法中使用自定义方法的实际名称。


编辑:我之前建议的解决方法不可行。

自定义方法并不意味着具有“动态”名称,我不确定为什么名称需要是动态的。将创建自定义方法,您可以将其分配给一个或多个字段,也可以不分配。通过传入自定义参数,可以处理有关此函数的任何“动态”。

See .addMethod() method documentation