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 相关文章推荐
Javascript中Eval函数的使用说明
Oct 11 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
Nov 04 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
Aug 01 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
JS实现两表格里数据来回转移的方法
May 28 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
Jun 19 Javascript
Node.js下自定义错误类型详解
Oct 17 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
Sep 13 Javascript
使用ThinkJs搭建微信中控服务的实现方法
Aug 08 Javascript
Element图表初始大小及窗口自适应实现
Jul 10 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
Jul 15 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
hadoop中一些常用的命令介绍
2013/06/19 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
页面使用密码保护代码
2013/04/10 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
jQuery基础知识小结
2014/12/22 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
Python中基础的socket编程实战攻略
2016/06/01 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
python flask 多对多表查询功能
2017/06/25 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
教师节感恩老师演讲稿
2014/08/28 职场文书
培训通知书模板
2015/04/17 职场文书