ext ajax validator全表单字段重复校验处理

Posted zfzf1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ext ajax validator全表单字段重复校验处理相关的知识,希望对你有一定的参考价值。

定义全局检验函数


basedev.baseSite.uniqueSiteName=function(field){
if(!field){
return true;
}

var editBaseSiteInfoForm = Ext.getCmp(basedev.baseSite.EDIT_BASE_SITE_FORM_ID);

var siteCode = editBaseSiteInfoForm.getForm().findField("siteCode").getValue();
var paramsObj = {siteCode : siteCode, siteName : field, state : editBaseSiteInfoForm.getOperatorType()};

var valid = false;
Ext.Ajax.request({
url : basedev.realPath(‘uniqueCheckBySiteName.do‘),
params: paramsObj,
async : false,
success : function(response) {
var result = Ext.JSON.decode(response.responseText);
if(result.success){
if(result.data == 0){
valid = true;
}
}else{
Ext.ux.Toast.msg(‘提示‘, result.msg);
}
},
failure : function(response) {
Ext.ux.Toast.msg(‘提示‘,response.responseText, ‘error‘);
}
});

if(valid){
return true;
}
return ‘该门店名称已存在‘;

}; 
控件使用blur替代 validator listeners:{
‘blur‘:function(field){ var uniqueSiteName = basedev.baseSite.uniqueSiteName(field.rawValue); if(uniqueSiteName!=true) { field.markInvalid(uniqueSiteName); } } } /*****************提交表单时ajax校验再走一次 start*****************/ var uniqueSiteName=basedev.baseSite.uniqueSiteName(baseSiteForm.findField(‘siteName‘).getValue()); if(uniqueSiteName!=true){ baseSiteForm.findField(‘siteName‘).markInvalid(uniqueSiteName); return; }/*****************提交表单时ajax校验再走一次 end*****************/

 


以上是关于ext ajax validator全表单字段重复校验处理的主要内容,如果未能解决你的问题,请参考以下文章

:禁用选择器在Jquery Validate忽略子句中不起作用[重复]

jQuery Validation - 仅验证来自多个必填字段的 2 个字段 [重复]

AJAX:在表单字段中输入时搜索延迟[重复]

CodeIgniter 在带有 ajax 回调的表单字段旁边单独显示错误

在所有元素顶部显示全屏不确定进度条[重复]

jQuery Validator异步调用[重复]