转自: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的更多相关文章

  1. Extjs Form用法详解(适用于Extjs5)

    Extjs Form是一个比较常用的控件,主要用来显示和编辑数据的,今天这篇文章将介绍Extjs Form控件的详细用法,包括创建Form.添加子项.加载和更新数据.验证等. 本文的示例代码适用于Ex ...

  2. 2014年12月20日00:33:14-遮罩+进度条-extjs form.isvalid

    1.Extjs : 遮罩+进度条 2.Extjs: extjs form.isvalid http://stackoverflow.com/questions/19354433/extjs-form- ...

  3. 实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值

    上一节中我们演示了ExtJS Form的异步加载和提交数据,本节中我们将演示如何使用JSON数据为ExtJS Form中的字段赋值和取值. 系列ExtJS教程持续更新中,点击查看>>最新E ...

  4. 实用ExtJS教程100例-010:ExtJS Form异步加载和提交数据

    ExtJS Form 为我们提供了两个方法:load 和 submit,分别用来加载和提交数据,这两个方法都是异步的. 系列ExtJS教程持续更新中,点击查看>>最新ExtJS教程目录 F ...

  5. 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传

    文件上传在Web程序开发中必不可少,ExtJS Form中有一个filefield字段,用来选择文件并上传.今天我们来演示一下如何通过filefield实现ExtJS Form无刷新的文件上传. 首先 ...

  6. Extjs form 表单的 submit

    说明:extjs form表单的提交方式是多种多样的,本文只是介绍其中的一种方法,本文介绍的方法可能不是完美的,但是对于一般的应用应该是没有问题的.     本文包括的主要内容有:form面板设计.f ...

  7. js进阶-9-3/4 form对象有哪些常用属性

    js进阶-9-3/4 form对象有哪些常用属性 一.总结 一句话总结: 1.一般html标签有哪些常用属性:name id value 2.form对象有哪些常用属性(特有):action meth ...

  8. extjs form.load()加载服务端数据

    formPanel.getForm().load({ url: 'getApproveRefundInf?refundIdDetail=${refundIdDetail}', waitMsg: '请稍 ...

  9. extjs form 取值 赋值 重置

    一.从form中获取field的三个方法: 1.Ext.getCmp('id'); 2.FormPanel.getForm().findField('id/name'); 3.Ext.get('id/ ...

随机推荐

  1. git使用原理

    如果需要新建仓库: mkdir new_artcle//artcle为文件名 cd new_artcle//进入该目录 git init //初始化工作空间 git add 文件名(article) ...

  2. 最适合初学者的Linux运维学习教程2018版

    Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...

  3. bootstrap table 生成的表格里动态添加HTML元素按钮,JS中添加点击事件,点击没反应---解决办法

    bootstraptable中onExpandRow属性---js  方法添加的 html代码,然后给这代码里面的 元素 添加 事件,却获取不该元素.(称之为未来元素),由于是未来的 所以现在没有这个 ...

  4. 前端自动化构建工具gulp使用

    1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev ...

  5. 如何区分null和undefined

    null和undefined是两种数据类型, 如果硬要区分的话. null是一种类型, 赋值变量为null型. 未定义的变量, 即为undefined. var a = null a // null ...

  6. 总结这几天js的学习内容

    对js中难点的理解 1.把变量对象像遍历数组一样简单 对于数组 ,迭代出来的是数组元素,对于对象 ,迭代出来的是对象的属性: var obj = { w: "wen", j: &q ...

  7. [luogu2148 SDOI2009] E&D (博弈论)

    传送门 Solution 我们知道当SG不为0则先手必胜,然后就可以打表了 ̄▽ ̄ Code //By Menteur_Hxy #include <cmath> #include <c ...

  8. String formatting in Python

    | \n | 换行   || \t | 制表符 || \  | 转义   || \\ | \      | the '%' operator is used to format a set of va ...

  9. Ubuntu | Flask + Gunicorn + Nginx 部署服务器环境

    现在我们手里有一个准备发布的项目,那么如何将他上传到你的服务器,并让外网访问呢? 前提: 1. 安装了Python环境 apt-get install python-dev 2. 安装Flask pi ...

  10. Caused by: android.os.TransactionTooLargeException总结

    错误信息 Error: android.os.TransactionTooLargeException W/ActivityManager(344): android.os.TransactionTo ...