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 相关文章推荐
使用Modello编写JavaScript类
Dec 22 Javascript
JavaScript中的数学运算介绍
Dec 29 Javascript
关于js里的this关键字的理解
Aug 17 Javascript
javascript自定义滚动条实现代码
Apr 20 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
Sep 14 Javascript
纯jQuery实现前端分页功能
Mar 23 jQuery
浅谈通过JS拦截 pushState和replaceState事件
Jul 21 Javascript
jQuery实现的form转json经典示例
Oct 10 jQuery
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
Aug 02 Javascript
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 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之第一天
2006/10/09 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
ext for eclipse插件安装方法
2008/04/27 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
BootStrap selectpicker
2016/06/20 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
Python smallseg分词用法实例分析
2015/05/28 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
Python数据库小程序源代码
2019/09/15 Python
浅谈Python中的继承
2020/06/19 Python
PyTorch的torch.cat用法
2020/06/28 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
大学生职业生涯规划书模板
2014/01/03 职场文书
同学会主持词
2014/03/18 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
承诺保证书格式
2015/02/28 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
体育教师研修感悟
2015/11/18 职场文书
《春酒》教学反思
2016/02/22 职场文书