Extjs表单常见验证小结


Posted in Javascript onMarch 07, 2014
//放在onReady的function(){}中 
Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息。 
Ext.form.Field.prototype.msgTarget='side'; //提示的方式,枚举值为:

qtip-当鼠标移动到控件上面时显示提示;
title-在浏览器的标题显示,但是测试结果是和qtip一样的;
under-在控件的底下显示错误提示;
side-在控件右边显示一个错误图标,鼠标指向图标时显示错误提示. 默认值;
id-[element id]错误提示显示在指定id的HTML元件中

1.一个最简单的例子:空验证

//空验证的两个参数 
allowBlank:false//false则不能为空,默认为true 
blankText:string//当为空时的错误提示信息

js代码为:
var form1 = new Ext.form.FormPanel({ 
width:350, 
renderTo:"form1", 
title:"FormPanel", 
defaults:{xtype:"textfield",inputType:"password"}, 
items:[ 
{fieldLabel:"不能为空", 
allowBlank:false, //不允许为空 
blankText:"不能为空", //错误提示信息,默认为This field is required! 
id:"blanktest", 
} 
] 
});

2.用vtype格式进行简单的验证。
在此举邮件验证的例子,重写上面代码的items配置:
items:[ 
{fieldLabel:"不能为空", 
vtype:"email",//email格式验证 
vtypeText:"不是有效的邮箱地址",//错误提示信息,默认值我就不说了 
id:"blanktest", 
anchor:"90%" 
} 
你可以修改上面的vtype为以下的几种extjs的vtype默认支持的验证: 
//form验证中vtype的默认支持类型

1.alpha //只能输入字母,无法输入其他(如数字,特殊符号等)
2.alphanum//只能输入字母和数字,无法输入其他
3.email//email验证,要求的格式是""
4.url//url格式验证,要求的格式是http://www.baidu.com

3.高级自定义密码验证
前面的验证都是extjs已经提供的,我们也可以自定义验证函数。

//先用Ext.apply方法添加自定义的password验证函数(也可以取其他的名字) 
Ext.apply(Ext.form.VTypes,{ 
password:function(val,field){//val指这里的文本框值,field指这个文本框组件,大家要明白这个意思 
if(field.confirmTo){//confirmTo是我们自定义的配置参数,一般用来保存另外的组件的id值 
var pwd=Ext.get(field.confirmTo);//取得confirmTo的那个id的值 
return (val==pwd.getValue()); 
} 
return true; 
} 
}); 
//配置items参数 
items:[{fieldLabel:"密码", 
id:"pass1", 
},{ 
fieldLabel:"确认密码", 
id:"pass2", 
vtype:"password",//自定义的验证类型 
vtypeText:"两次密码不一致!", 
confirmTo:"pass1",//要比较的另外一个的组件的id 
}

4.使用正则表达式验证
new Ext.form.TextField({ 
fieldLabel : "姓名", 
name : "author_nam", 
regex : /[\u4e00-\u9fa5]/, //正则表达式在/...../之间. [\u4e00-\u9fa5] : 只能输入中文. 
regexText:"只能输入中文!", //正则表达式错误提示 
allowBlank : false //此验证依然有效.不许为空.
Javascript 相关文章推荐
JS使用for循环遍历Table的所有单元格内容
Aug 21 Javascript
微信中一些常用的js方法汇总
Mar 12 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
Nov 30 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
JavaScript设计模式之单例模式详解
Jun 09 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
详解vue开发中调用微信jssdk的问题
Apr 16 Javascript
js实现随机点名程序
Sep 17 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
Mar 08 Javascript
Postman无法正常返回结果问题解决
Aug 28 Javascript
extJS中常用的4种Ajax异步提交方式
Mar 07 #Javascript
禁用JavaScript控制台调试的方法
Mar 07 #Javascript
jquery日历控件实现方法分享
Mar 07 #Javascript
jquery.form.js用法之清空form的方法
Mar 07 #Javascript
jquery设置按钮停顿3秒不可用
Mar 07 #Javascript
jquery 实现两级导航菜单附效果图
Mar 07 #Javascript
document.addEventListener使用介绍
Mar 07 #Javascript
You might like
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
React项目动态设置title标题的方法示例
2018/09/26 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
跟老齐学Python之永远强大的函数
2014/09/14 Python
python模块之StringIO使用示例
2015/04/08 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
寒假思想汇报
2014/01/10 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
大学生实习推荐信
2015/03/27 职场文书
八月迷情观后感
2015/06/11 职场文书
送给客户微信问候语!
2019/07/04 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python
深入理解python协程
2021/06/15 Python