jQuery 使用动态名称验证自定义方法规则和消息?
jQuery validation custom method rule and message with dynamic name?
我有一个验证规则,我想使用变量 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;
});
不确定为什么需要做这样的事情。在编写您的 OP 时,完全不清楚为什么您不能首先使用自定义方法的实际名称。
你不能按照你的要求去做。您需要在 .rules()
方法中使用自定义方法的 actual 名称。
编辑:我之前建议的解决方法不可行。
自定义方法并不意味着有一个 "dynamic" 名称,我不确定为什么名称需要是动态的。自定义方法已创建,您可以将其分配给一个或多个字段,也可以不分配。关于此函数的任何 "dynamic" 都将通过传入自定义参数来处理。
我有一个验证规则,我想使用变量 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;
});
不确定为什么需要做这样的事情。在编写您的 OP 时,完全不清楚为什么您不能首先使用自定义方法的实际名称。
你不能按照你的要求去做。您需要在 .rules()
方法中使用自定义方法的 actual 名称。
编辑:我之前建议的解决方法不可行。
自定义方法并不意味着有一个 "dynamic" 名称,我不确定为什么名称需要是动态的。自定义方法已创建,您可以将其分配给一个或多个字段,也可以不分配。关于此函数的任何 "dynamic" 都将通过传入自定义参数来处理。