extjs4 在验证上面支持的也特别好,他可以使用自带的格式验证,也可以自定义验证

比如:正则验证,密码重复填写对比验证,以及 调用后台方法验证,下面将验证方法统一写出以供参考

function loginNameValidator(value, userId){
/********** 登录名唯一验证 **********/
var flag = true; var parameters = {
"loginUser.userName": value,
"loginUser.userId": userId
}
Ext.Ajax.request({
url: "dosomething",
method: "post",
params: parameters,
async: false,//必须为同步
success: function(response, config){//message:true 验证成功,message:false 验证失败
var resultJson = Ext.JSON.decode(response.responseText);
flag = resultJson.message;
console.log(flag);
}
});
return flag;
} Ext.onReady(function() {
var insertUserForm = Ext.create('Ext.form.Panel', {
bodyPadding : 5,
width : 400,
height: 300,
url : 'javaScript:void(0)',
bodyPadding: 20,
layout : 'anchor',
buttonAlign : 'center',
defaultType : 'textfield',
renderTo: Ext.getBody(),
defaults: {
anchor: '100%'
},
items : [
{
fieldLabel : '登录名',
labelWidth: 60,
name : 'userName',
allowBlank : false,
blankText : "登录名不能为空",
regex: /^[A-Za-z0-9]{3,12}$/,
regexText: "只能为3-12的位字母或数字",
validateOnChange: false, //失去焦点时才进行验证
validator: function(value){
var userIdField = Ext.get("userId");
if(userIdField != null){
var userId = userIdField.getValue();
var result = loginNameValidator(value,userId);
return result;
}
}
}, {
fieldLabel : '密   码',
labelWidth: 60,
name : 'password',
inputType: 'password',
allowBlank : false,
blankText : '密码不能为空',
regex : /^[\w@#]{4,15}$/,
regexText:"密码为4-15位的字母数字@#_等字符" },{
fieldLabel : '确认密码',
labelWidth: 60,
inputType: 'password',
name : 'confirmPassword',
allowBlank : false,
validator: function(value){
var password = this.previousSibling().value;
if(value != password){
return '两次输入的密码不一致';
}else{
return true;
}
}
},{//userId 隐藏域
id: "userId",
//fieldLabel: "用户ID",
hidden: false,
name: "userId"
}],
buttons : [{
text : '重置',
handler : function() {
this.up('form').getForm().reset();
}
}, {
text : '保存',
formBind : true,
disabled : true,
handler : function() {
var form = this.up('form').getForm();
if (form.isValid()) {
form.submit( {
success : function(form, action) {
Ext.Msg.alert('保存成功', action.result.msg);
},
failure : function(form, action) {
Ext.Msg.alert('操作失败', action.result.msg);
}
});
}
}
}]
});
});

extjs4 表单验证自定义的更多相关文章

  1. atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证

    atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证 1. 需求,表单验证需要弹框式,但目前easyui ms绑定死了tooltip式样 1 2. 表 ...

  2. jQuery Validate 表单验证插件----自定义一个验证方法

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...

  3. jQuery Validate 表单验证插件----自定义校验结果样式

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...

  4. easyui 表单验证validatetype——支持自定义验证

    easyui 的validatebox()提供了自定义验证的方法,为此我把一些常用的数据验证汇总了一下,代码如下: 代码 Code highlighting produced by Actipro C ...

  5. layui 自定义表单验证的几个实例

    *注:使用本方法请先引入layui依赖的layu.js和layui.css 1.html <input type="text" name="costbudget&q ...

  6. python26:自定义form表单验证

    一.自定义Form的原理 1.1 各种form表单验证比较 只有python提供了form表单验证,其他的都没有提供.django提供的功能还不够强大.最强大的是微软的ASP.NET!我们可以自己写一 ...

  7. jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

    1.表单验证插件——validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:   $(form).validate({o ...

  8. element自定义表单验证

    element-ui框架下修改密码弹窗进行表单验证. 除了基础校验,密码不为空,长度不小于6字符,需求中还需校验密码由数字和字母组合. 处理代码如下: <el-dialog :visible.s ...

  9. ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证

    一.关于导航怎么设置路由 1.在el-menu这个标签的属性中添加 router ,官方文档的解释是:启用vue-router 这种模式 2.在el-menu-item标签中的index属性直接书写路 ...

随机推荐

  1. 装饰器&递归

    装饰器 1.开放封闭原则 ​ 在源码不改变的情况下,增加一些额外的功能 对扩展是开放的,对修改是封闭的 1.1 开放原则:增加额外新功能 1.2 封闭原则:不要改变源码 2 装饰器 满足开放封闭原则, ...

  2. POJ 2987:Firing(最大权闭合图)

    http://poj.org/problem?id=2987 题意:有公司要裁员,每裁一个人可以得到收益(有正有负),而且如果裁掉的这个人有党羽的话,必须将这个人的所有党羽都裁除,问最少的裁员人数是多 ...

  3. BZOJ 1026:windy数(数位DP)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1026 1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memor ...

  4. python的简介与简单使用

    简介: python的诞生 创始人:Guido van Rossum(荷兰人:吉多) 时间:1989年 特点: 1.简单明了,容易上手 2.多平台,`全面发展,平衡发展, 3.胶水语言,有大量的库 其 ...

  5. C语言学习书籍推荐《C陷阱与缺陷》下载

    下载地址:点我 凯尼格 (作者), 高巍 (译者) <C和C++经典著作:C陷阱与缺陷>适合有一定经验的C程序员阅读学习,即便你是C编程高手,<C和C++经典著作:C陷阱与缺陷> ...

  6. Bzoj 1997 [Hnoi2010]Planar题解

    1997: [Hnoi2010]Planar Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2224  Solved: 824[Submit][Stat ...

  7. 视频4K技术的解读

    前几年4K技术就已经有人提及,今年更是成了一个非常热门的词汇,而且4K技术已经普遍应用于各类终端,如电视机.机顶盒.手机等.那么如何来理解4K这个东东呢?今天博主就谈谈自己对4K技术的认识. 博主认为 ...

  8. STM32F072从零配置工程-基于HAL库的串口UART中断配置

    先上一个采用串口直接传输的Demo: 此处的思路是完全采用HAL库来实现的,核心是运用HAL_UART_Transmit_IT和HAL_UART_Receive_IT两个函数来实现的,可以作为一个De ...

  9. UVA10375 选择与除法 Choose and divide 题解

    题目链接: https://www.luogu.org/problemnew/show/UVA10375 分析: 这道题可以用唯一分解定理来做. 什么是唯一分解定理?百度即可,这里也简介一下. 对于任 ...

  10. 【CYH-02】noip2018数论模拟赛:比赛通知栏

    鉴于公开赛有时可能无法更改比赛描述呢... 所以我们准备在这里(和团队宣言里)发布一些比赛公告. 请及时关注