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 验证字段 [重复]

vee-validate 这个插件怎么判断字段验证失败,就不能执行提交

在处理我的表单之前验证 select2 字段[重复]

jQuery Validation插件在无效时重复提交错误

SpringBoot之表单验证@Valid

validator 手动验证 表单字段 不基于注解@Valid