我的要求是使用Ajax检查应用程序名称是否已被使用。我实现了这些,我计划在jquery验证中添加这些东西。我添加了使用add方法,但如果响应是false
则显示消息
应用名称存在
错误消息。如果响应为true
,它也会显示错误消息。
这是我的代码:
$(document).ready(function ()
{
function isAppNameExists() {
document.getElementById('imgLoad').style.display = "inline-table";
var appName =$("#txtAppName").val();//document.getElementById("txtAppName").value;
var tenantID =1;//document.getElementById("txttenantId").value;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if(xmlhttp.readyState==4 && xmlhttp.status==200){
if(xmlhttp.responseText == "true"){ // App name already used
document.getElementById('imgLoad').style.display = "none";
return false;
} else {
document.getElementById('imgLoad').style.display = "none";
return true;
}
}
}
xmlhttp.open("GET","ApplicationController?appNameCheck=createApp&appName="+appName+"&tenantId="+tenantID+"",true);
xmlhttp.send();
}
$.validator.addMethod("appNameExistsValidation", function() {
return isAppNameExists();
}, "Application name already exists");
$('#storeAppCreation').validate(
{
rules:
{
appNameExistsValidation:true
}
}
});
答案 0 :(得分:1)
您可以使用验证框架
提供的remote选项$(document).ready(function() {
var tenantID =1;//document.getElementById("txttenantId").value;
$('#storeAppCreation').validate({
rules : {
txtAppName: {
remote : {
url : "ApplicationController",
type : "GET",
data : {
appNameCheck : 'createApp',
appName : function() {
return $("#txtAppName").val()
},
tenantId : tenantID
}
}
}
}
})
});