我有一个输入元素列表,其 id 将生成为 user[0].firstName、user[1].firstName... 现在我想为所有这些输入编写一个通用验证器。因此,我向它们添加了一个名为 userName 的类,并尝试使用远程验证器,但我无法获取触发验证器的字段的值。如果其中任何一个能起作用就好了。
firstName: {
selector: '.userName',
validators: {
remote: {
url: '/servers/checkName',
type: 'POST',
dataType: "json",
data: function() {
// var user_name = document.getElementById("user0.firstName").value+"";
//here i need to get the value of field which called this validator
return {
name: user_name
};
},
message: ' user name is already exist'
},
callback: {
callback: function(value, validator, $field) {
alert($field + " " + value);
return :{
//here im not able to ajax call like this
ajax({
url: '/servers/checkName',
type: 'POST',
dataType: "json",
data: value,
success: function(response) {
return response;
}
})
},
message: 'User Call back!'
}
}
},
}
最佳答案
我认为回调与ajax结合起来是行不通的,因为ajax请求的响应是异步的。所以根据文档here ,我们应该使用远程验证器。它在我的项目中运行良好。
您必须像这样更改远程验证器:
remote: {
url: '/servers/checkName',
data: function(validator) {
return {
name: validator.getFieldElements('firstName').val()
};
},
}
关于jquery - Bootstrap - 如何在回调验证中使用 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31822484/