如何获取JQuery远程基于类的验证规则的值和元素?
我正在尝试编写一个规则,使用远程查找验证多个动态添加的输入。我不知道如何在远程规则定义中获取正在验证的字段。例如:如何获取JQuery远程基于类的验证规则的值和元素?,jquery,validation,Jquery,Validation,我正在尝试编写一个规则,使用远程查找验证多个动态添加的输入。我不知道如何在远程规则定义中获取正在验证的字段。例如: $.validator.addClassRules({ refDataAcInput: { remote: { url: "/json/refDataLookup.html", type: "get", data: { groupName: functio
$.validator.addClassRules({
refDataAcInput: {
remote: {
url: "/json/refDataLookup.html",
type: "get",
data: {
groupName: function(a,b,c){
//$(this).data("groupName");
//THE ABOVE DOESN'T WORK, HERE I WANT TO GET THE VALUE OF THE FIELD BEING VALIDATED
},
term: function(a,b,c){
//$(this).val();
//THE ABOVE DOESN'T WORK, HERE I WANT TO GET THE VALUE OF THE FIELD BEING VALIDATED
},
exactMatch: "true"
},
dataFilter: function(data, type) {
return data;
},
success: function(data, textStatus, jqXHR) {
alert(textStatus);
}
}
}
});
我该怎么做呢?我很喜欢你的想法,但你想做的事情不能像现在这样使用addClassRules来完成。问题不在于jQuery验证,而在于jQuery.ajax在生成数据时的工作方式。数据对象中的这些函数不使用上下文调用(即,
此
按预期填充)。jQuery代码如下所示:
value = jQuery.isFunction( value ) ? value() : value;
我相信这是有道理的,因为$.ajax的使用方式是通用的,它可以访问本地变量,这样就无所谓了(即,在调用$.ajax之前,您只需创建所需的数据对象)。对于验证,您唯一的选择可能是使用remote
提供的数据,即输入名称作为键,输入值作为值(即fieldName:value
),并修改远程脚本以处理该数据
如果这不是一个选项,因为你需要你的代码> GROMPNMENT/<代码>数据,你可以考虑编辑。在这种情况下,我要做的是更改此行(github中的L1024):
为此:data = $(element).data();
data[element.name] = value;
这会将附加到元素的任何
jQuery.data
值推送到ajax请求中。我非常喜欢你的想法,但你想做的事情不能像现在这样使用addClassRules来完成。问题不在于jQuery验证,而在于jQuery.ajax在生成数据时的工作方式。数据对象中的这些函数不使用上下文调用(即,此
按预期填充)。jQuery代码如下所示:
value = jQuery.isFunction( value ) ? value() : value;
我相信这是有道理的,因为$.ajax的使用方式是通用的,它可以访问本地变量,这样就无所谓了(即,在调用$.ajax之前,您只需创建所需的数据对象)。对于验证,您唯一的选择可能是使用remote
提供的数据,即输入名称作为键,输入值作为值(即fieldName:value
),并修改远程脚本以处理该数据
如果这不是一个选项,因为你需要你的代码> GROMPNMENT/<代码>数据,你可以考虑编辑。在这种情况下,我要做的是更改此行(github中的L1024):
为此:data = $(element).data();
data[element.name] = value;
这会将附加到元素的任何jQuery.data
值推送到ajax请求中