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 相关文章推荐
基于jquery的合并table相同单元格的插件(精简版)
Apr 05 Javascript
js获取多个tagname的节点数组
Sep 22 Javascript
鼠标拖拽移动子窗体的JS实现
Feb 25 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
May 08 Javascript
几种tab切换详解
Feb 03 Javascript
jquery表单验证实例仿Toast提示效果
Mar 03 Javascript
微信小程序 首页制作简单实例
Apr 07 Javascript
微信小程序学习之数据处理详解
Jul 05 Javascript
ES6中新增的Object.assign()方法详解
Sep 22 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
VUE实现吸底按钮
Mar 04 Vue.js
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
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
php ios推送(代码)
2013/07/01 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
js 编写规范
2010/03/03 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
Vue实现购物车功能
2017/04/27 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
scrapy爬虫实例分享
2017/12/28 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
python多线程并发及测试框架案例
2019/10/15 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
DELPHI面试题研发笔试试卷
2015/11/08 面试题
文化与传播毕业生求职信
2014/03/09 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
公司介绍信范文
2015/01/31 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
python APScheduler执行定时任务介绍
2022/04/19 Python