最近学习extjs5 需要表单校验 但是发现有问题
即使手机不存在 还是 提示 手机存在
后来查文档发现
request 的
async 默认是 true
说明 校验是“异步”的
导致校验不一致
设置为false 才可以 “同步”
代码语言:javascript复制 validator :function(value){//远程校验手机号是否存在
var isOk = false;
var msg = "";
Ext.Ajax.request({
waitMsg : '正在校验手机是否已经被注册,请稍后...',
url : $.baseUrl() "/user/isPhoneExist.do",
params : {
'tel' : value
},// 根据id删除
method : "POST",
timeout : 4000,
async : false,
success : function(response, opts) {
var resObj = Ext.decode(response.responseText);
if(resObj.success)
{
isOk = true;
console.log("success" resObj.msg);
}else
{
isOk = false;
msg = resObj.msg;
}
},
failure: function(response, opts) {
isOk = false;
msg ="错误";
}
});
if(isOk)//可以注册
{
return true;
}
return msg;//错误原因
}