extjs5 表单校验 同步和异步

2021-08-27 15:08:11 浏览数 (2)

最近学习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;//错误原因
			
			
		}

0 人点赞