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计算页面执行时间的函数
Dec 07 Javascript
javascript 屏蔽鼠标键盘的几段代码
Jan 02 Javascript
jquery一句话全选/取消全选
Mar 01 Javascript
jQuery对表单元素的取值和赋值操作代码
May 19 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 Javascript
JS验证邮箱格式是否正确的代码
Dec 05 Javascript
JavaScript数值转换的三种方式总结
Jul 31 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
Jul 15 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
node.js基于mongodb的搜索分页示例
Jan 22 Javascript
Vue form 表单提交+ajax异步请求+分页效果
Apr 22 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
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
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
jQuery点击自身以外地方关闭弹出层的简单实例
2013/12/24 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
2016/09/24 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
vue实现弹幕功能
2019/10/25 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
python 函数中的参数类型
2020/02/11 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
网络编辑职责
2014/03/01 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python