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. 计算机以及Python的初始

    电脑的介绍 CPU:中央处理器,相当于人类的大脑 内存:暂时储存数据,速度快,造价高,断电后丢失 硬盘:长期储存数据.速度相对慢,造价相对低 操作系统:一个软件,连接计算机硬件和系统中的软件. Pyt ...

  2. c++学习书籍推荐《Beyond the C++ Standard Library》下载

    百度云及其他网盘下载地址:点我 作者简介 Björn Karlsson works as a Senior Software Engineer at ReadSoft, where he spends ...

  3. .Net Core 学习新建Core MVC 项目

    一.新建空的Core web项目 二.在Startup文件中添加如下配置 1.  在ConfigureServices 方法中添加 services.AddMvc();MVC服务 2. app.Use ...

  4. 通讯(tarjan缩点)(20190716NOIP模拟测试4)

    B. 通讯   题目类型:传统 评测方式:文本比较  内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目描述 “这一切都是命运石之门的选择.” 试图研制时间机器的机关SERN截获了 ...

  5. Gin 框架 - 安装和路由配置

    目录 概述 Gin 安装 路由配置 推荐阅读 概述 看下 Gin 框架的官方介绍: Gin 是一个用 Go (Golang) 编写的 web 框架. 它是一个类似于 martini 但拥有更好性能的 ...

  6. Android开发-实现第三方APP跳转

    自己创建一个按钮: <Button android:id="@+id/btn_button" android:layout_width="fill_parent&q ...

  7. akka 集群分片

    akka 集群 Sharding分片 分片上下级结构 集群(多台节点机) —> 每台节点机(1个片区) —> 每个片区(多个分片) —> 每个分片(多个实体) 实体: 分片管理的 A ...

  8. 一次使用InfluxDB数据库的总结

    前言 因当前的项目需要记录每秒钟服务器的状态信息,例如负载.cpu等等信息,这些数据都是和时间相关联的. 因为一秒钟就要存储挺多的数据.而且我还在前端做了echart的折线图,使用websocket实 ...

  9. Spring 注解编程之 AnnotationMetadata

    在上篇文章 Spring 注解编程之模式注解 中我们讲到 Spring 模式注解底层原理,依靠 AnnotationMetadata 接口判断是否存在指定元注解. 这篇文章我们主要深入 Annotat ...

  10. dijkstra算法学习笔记

    dijkstra是一种单源最短路径算法,即求一个点到其他点的最短路.不能处理负边权. 最近某种广为人知的算法频繁被卡,让dijkstra逐渐成为了主流,甚至在初赛中鞭尸了SPFA(? dijkstra ...