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之软键盘实现(js源码)
Jan 30 Javascript
基于jQuery的倒计时实现代码
May 30 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
Apr 25 Javascript
用js闭包的方法实现多点标注冒泡示例
May 29 Javascript
javascript设置连续两次点击按钮时间间隔的方法
Oct 28 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
Dec 31 Javascript
js中日期的加减法
May 06 Javascript
JQuery给select添加/删除节点的实现代码
Apr 26 Javascript
使用jQuery给input标签设置默认值
Jun 20 Javascript
Vue.Draggable实现拖拽效果
Jul 29 Javascript
JS sort方法基于数组对象属性值排序
Jul 10 Javascript
Web应用开发TypeScript使用详解
May 25 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 COOKIE及时生效的方法介绍
2014/02/14 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
input 输入框内的输入事件详细分析
2010/03/17 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
支付宝小程序tabbar底部导航
2018/11/06 Javascript
vue登录注册实例详解
2019/09/14 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
公司承诺书格式
2014/05/21 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
村委会贫困证明范本
2014/09/17 职场文书
师范生见习报告范文
2014/11/03 职场文书
清明节寄语2015
2015/03/23 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript