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 validate使用攻略 第四步
Jul 01 Javascript
javascript中常用编程知识
Apr 08 Javascript
JavaScript的兼容性与调试技巧
Nov 22 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
jQuery实现的手风琴侧边菜单效果
Mar 29 jQuery
angularjs定时任务的设置与清除示例
Jun 02 Javascript
详解vue axios用post提交的数据格式
Aug 07 Javascript
解决微信小程序防止无法回到主页的问题
Sep 28 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 Javascript
vue使用Proxy实现双向绑定的方法示例
Mar 20 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
Oct 25 Javascript
ES6中new Function()语法及应用实例分析
Feb 19 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类继承 extends使用介绍
2014/01/14 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
Vue 中的compile操作方法
2018/02/26 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
python自动zip压缩目录的方法
2015/06/28 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
python实现电子词典
2020/03/03 Python
python解释器安装教程的方法步骤
2020/07/02 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
创意活动策划书
2014/01/15 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
创业计划书之水果店
2019/07/18 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
Python中time标准库的使用教程
2022/04/13 Python