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 相关文章推荐
根据分辨率不同,调用不同的css文件
Jul 07 Javascript
一个多次搜索+多次传值的解决方案
Jan 20 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
Jan 22 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
Dec 05 Javascript
display和visibility的区别示例介绍
Feb 26 Javascript
基于zepto.js简单实现上传图片
Jun 21 Javascript
Vue响应式添加、修改数组和对象的值
Mar 20 Javascript
Vue组件选项props实例详解
Aug 18 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
vue 项目软键盘回车触发搜索事件
Sep 09 Javascript
使用TS来编写express服务器的方法步骤
Oct 29 Javascript
微信小程序实现分页加载效果
Nov 19 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
php数据库连接
2006/10/09 PHP
PHP运行模式的深入理解
2013/06/03 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
p5.js临摹动态图形的方法
2019/10/23 Javascript
vue使用nprogress实现进度条
2019/12/09 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
python实现删除文件与目录的方法
2014/11/10 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
市场开发与营销专业求职信范文
2014/05/01 职场文书
爱国演讲稿500字
2014/05/04 职场文书
学校交通安全责任书
2014/08/25 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
淘宝好评语句大全
2014/12/31 职场文书
荒岛余生观后感
2015/06/09 职场文书
mysql优化
2021/04/06 MySQL
详解Python自动化之文件自动化处理
2021/06/21 Python
MySQL 聚合函数排序
2021/07/16 MySQL