93.EXTJS Form之VTypes
转自:http://blog.sina.com.cn/s/blog_7778950d0100y2pg.html
本文我们主要探讨一下EXTJS的Form中验证的问题,可能用过EXTJS的Form的人都知道,比如说,我们在为Form中的TextField添加验证的时候,我们一般会用到两个属性,一个是invalidText,另一个是MaskRe,第一个属性我们用来设置,当用户输入的信息,验证不通过时,我们展现给用户的提示信息,第二个属性设置我们输入的一个规则。该属性的值为一个正则表达式。在一般的情况下,我们一般用这两个属性,就足够了,但是。很多特殊的情况,这两个属性就用起来没那么方便了,比如说,我们现在form表单中有10个字段,其中有五个字段。我们是数字格式,也就说,这个五个我们使用同一种验证规则,在这样的情况下,我们要是使用上述的方式,来验证的话,我们的编码量就会增加。要是我们能把验证的规则提取出来,这样就可以很好的重用了,又有利于代码的维护。这个时候,我们就会用到form里边的VTypes了。下面,我们来看一下,这个属性的具体使用。
1、首先我们来定义一个Vtype,以便于我们字段中使用。定义的方式如下:
var test=/^[0-9]+$/i; //定义一个正则表达式对象
Ext.apply(Ext.form.VTypes, {
numbers:
function(val,
field)
{
return
test.test(val);
},
numbersText:
'Not a valid time. Must be in the format
"12:34 PM".',
numbersMask:
/[\d]/i
});
上述代码我们就定义好了一个名字为numbers的vtype,function返回验证的结果,numbersText定义验证不通过时的提示信息。numbersMask为一个正则表达式,用于验证用户的输入。他在numbers的function之前执行。
2、定义好vtype以后,我们就可以使用它了。使用方式如下:
var textfield=new
Ext.form.TextField({
fieldLabel:"总数",
vtype:"numbers"
});
在form的组件中,都会有一个vtype属性,用于指定指定该组件的vtype验证名称。这样。所有关于数字验证的字段,我们就都可以使用numbers验证了。
大家有好的使用方式,欢迎大家留言。我们共同学习进步。谢谢。
93.EXTJS Form之VTypes的更多相关文章
- Extjs Form用法详解(适用于Extjs5)
Extjs Form是一个比较常用的控件,主要用来显示和编辑数据的,今天这篇文章将介绍Extjs Form控件的详细用法,包括创建Form.添加子项.加载和更新数据.验证等. 本文的示例代码适用于Ex ...
- 2014年12月20日00:33:14-遮罩+进度条-extjs form.isvalid
1.Extjs : 遮罩+进度条 2.Extjs: extjs form.isvalid http://stackoverflow.com/questions/19354433/extjs-form- ...
- 实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值
上一节中我们演示了ExtJS Form的异步加载和提交数据,本节中我们将演示如何使用JSON数据为ExtJS Form中的字段赋值和取值. 系列ExtJS教程持续更新中,点击查看>>最新E ...
- 实用ExtJS教程100例-010:ExtJS Form异步加载和提交数据
ExtJS Form 为我们提供了两个方法:load 和 submit,分别用来加载和提交数据,这两个方法都是异步的. 系列ExtJS教程持续更新中,点击查看>>最新ExtJS教程目录 F ...
- 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
文件上传在Web程序开发中必不可少,ExtJS Form中有一个filefield字段,用来选择文件并上传.今天我们来演示一下如何通过filefield实现ExtJS Form无刷新的文件上传. 首先 ...
- Extjs form 表单的 submit
说明:extjs form表单的提交方式是多种多样的,本文只是介绍其中的一种方法,本文介绍的方法可能不是完美的,但是对于一般的应用应该是没有问题的. 本文包括的主要内容有:form面板设计.f ...
- js进阶-9-3/4 form对象有哪些常用属性
js进阶-9-3/4 form对象有哪些常用属性 一.总结 一句话总结: 1.一般html标签有哪些常用属性:name id value 2.form对象有哪些常用属性(特有):action meth ...
- extjs form.load()加载服务端数据
formPanel.getForm().load({ url: 'getApproveRefundInf?refundIdDetail=${refundIdDetail}', waitMsg: '请稍 ...
- extjs form 取值 赋值 重置
一.从form中获取field的三个方法: 1.Ext.getCmp('id'); 2.FormPanel.getForm().findField('id/name'); 3.Ext.get('id/ ...
随机推荐
- 微信小程序获取二维码并把logo替换为自己的头像
$avatarUrl = 'http://cms-bucket.nosdn.127.net/2018/05/28/a1a44ffdc2d24f928c1860d4fbf54703.jpeg?image ...
- iDRAC RAC0218 最大会话限制
用ssh工具登陆IDRAC远程管理ip地址: /admin1-> racadm racreset RAC reset operation initated successfully. It m ...
- parseInt()函数
parseInt()转化整形是从左往右,取出第一个整型,如:10a10b,则显示10: //20170719补充 如果该字符串第一个字符是0,那么该字符串会基于八进制而非十进制来求值,在八进制中,8和 ...
- Sprinboot优雅配置监听,并记录所有启动事件
在阅读Springboot启动源码的时候,发现Springboot自动启动listeners是通过uopeizhi文件配置的,本文就是采用Springboot方式自动装入listeners. 项目依赖 ...
- 本地读取服务器Xml文件及本地读本地的xml
updateUrl="ServerUrl"(服务器路径) WebClient wc = new WebClient(); Stream stream = wc.OpenRead(u ...
- Linux之网络ping(unknown host)故障及yum no more mirrors to try
1.ping外网出现ping:unknown host 字样故障 鉴于网上大多都是提供临时生效的解决办法,这里不再赘述,并提供下永久生效的方案: 永久生效: 1)添加DNS地址和下一跳网关地址至网 ...
- C写的AES(ECB/PKCS5Padding)
摘自POLARSSL #pragma once #define AES_ENCRYPT 1 #define AES_DECRYPT 0 struct aes_context { int nr; /*! ...
- 实验十二 团队作业8:软件测试与Alpha冲刺 第四天
项目 内容 这个作业属于哪个课程 老师链接 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 Always Run! 作业学习目标 (1)掌握软件测试基础技术 (2)学习 ...
- 多层gmetad配置
经实验表明: ①多层gmetad与ganglia版本无关,且可以多版本兼容 ②多层gmetad只有最底层gmetad能保存详细指标,非底层gmetad收集到的都只能是summary信息,当然也许我配置 ...
- 【codeforces 508B】Anton and currency you all know
[题目链接]:http://codeforces.com/contest/508/problem/B [题意] 给你一个奇数; 让你交换一次数字; 使得这个数字变成偶数; 要求偶数要最大; [题解] ...