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实现tab标签浏览效果
Feb 20 Javascript
javaScript parseInt字符转化为数字函数使用小结
Nov 05 Javascript
将函数的实际参数转换成数组的方法
Jan 25 Javascript
超酷的网页音乐播放器DewPlayer使用方法
Dec 18 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
Nov 15 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
javascript性能优化之DOM交互操作实例分析
Dec 12 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 Javascript
详解在React里使用"Vuex"
Apr 02 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
在vue项目中使用sass语法问题
Jul 18 Javascript
仿照Element-ui实现一个简易的$message方法
Sep 14 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中模拟POST传递数据的两种方法分享
2011/09/16 PHP
php写的AES加密解密类分享
2014/06/20 PHP
PHP实现微信图片上传到服务器的方法示例
2017/06/29 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
将string解析为json的几种方式小结
2010/11/11 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
js实现转动骰子模型
2019/10/24 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
python实现读取命令行参数的方法
2015/05/22 Python
python set内置函数的具体使用
2019/07/02 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
pymysql模块的操作实例
2019/12/17 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
python 常见的反爬虫策略
2020/09/27 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
关于迟到的检讨书
2014/01/26 职场文书
2014年清明节寄语
2014/04/03 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
医学求职信
2014/05/28 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
入伍通知书
2015/04/23 职场文书
交心谈心活动总结
2015/05/11 职场文书
春晚观后感
2015/06/11 职场文书
会议简报格式范文
2015/07/20 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
Java完整实现记事本代码
2022/06/16 Java/Android