我正在尝试重新构建在添加classRule时通过jquery.validate()远程发送的数据。
jQuery.validator.addClassRules("remote-validation", {
required: true,
remote: {
url : '/!/check/?ajax=true',
type:'post',
data: { table : $('body').attr('data-app'), id: $('input[name=id]').val(), field: $(this).val() }
}
});
只是尝试提取正在使用的字段名称,以便更容易处理服务器端,但似乎无法找到如何提取正在验证的当前字段。
我的目标是生成以下内容
{ table : 'companies', id: '123', field: 'companyName }
任何建议都非常感谢
答案 0 :(得分:3)
我无法在任何地方找到它,但我认为您可以为规则的参数值指定一个函数,如果这样做,该元素将作为第一个(也是唯一的参数)传递函数被调用。
如果是这样,您可以尝试以下方法:
jQuery.validator.addClassRules("remote-validation", {
required: true,
remote: function(element) {
return {
url : '/!/check/?ajax=true',
type:'post',
data: {
table: $('body').attr('data-app'),
id: $('input[name=id]').val(),
field: $(element).val()
}
}
}
});
此jsfiddle表明它正常运作。在小提琴中,单击"提交"按钮,然后开始输入第一个输入。对于每次击键,都会进行ajax调用。