关于ext-js 中的自定义校验

简介:

项目中遇到了前端校验,我们采用的是用vType来创建可以复用的校验器:

需求:校验IPv32

为了创建可以复用的校验器,我们使用了Vtype,定义如下:

 
 
  1. // Custom Vtype for ip address 
  2. Ext.apply(Ext.form.field.VTypes, { 
  3.     ip : function(v) { 
  4.         var reg = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/; 
  5.         return reg.test(v); 
  6.     }, 
  7.     ipText : 'must be numeric, dot -  IP adress format'
  8.     ipMask : /[0-9\.]/i 
  9. }); 

从这段代码可以看出来:

第3行冒号左边的ip表示这个校验器的名字,而右边是一个函数来定义了校验规则, 其中参数v表示被校验的内容。

第4行定义了一个正则表达式,它匹配一个V32的ip地址,我们的校验规则就是让待测的值是否匹配这个正则表达式。

第7行是这个校验出错的提示文本,它会在页面上用红色框子显示出来,对应的样式是x-form-invalid-field.

第8行的正则表达式自动会传递给ext-js的TextField控件,从而在keyPress事件触发时候自动调用从而来限制输入的字符。

 

为了说明这个校验器如何工作的,我们看下应用代码:

 
 
  1. initComponent : function() { 
  2.         this.items = [{ 
  3.             xtype : 'displayfield'
  4.             value : this.sTitle, 
  5.             fieldStyle : 'font-weight:bold;' 
  6.         },  
  7.  
  8. … 
  9.  
  10.           { 
  11.             fieldLabel : 'IP address'
  12.             name : 'nodeIp'
  13.             vtype:'ip'
  14.             maxLength : 60 
  15.         }]; 
  16.         this.callParent(arguments); 
  17.     }, 
  18. }); 

从第13行,可以看出,这里我们对于'IP addres"使用了ip的字段校验器,所以它可以正确的进行字段校验,如果校验结果出错,则会飘红:





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1191077,如需转载请自行联系原作者
目录
相关文章
|
算法 前端开发 JavaScript
JS - 前端生成 UUID 四种方法
JS - 前端生成 UUID 四种方法
4981 0
|
5月前
|
JavaScript
js类型校验的方式
js类型校验的方式
24 1
|
8月前
|
Web App开发 JSON JavaScript
JS常见的报错类型
JS常见的报错类型
|
12月前
|
JavaScript Java
Js 生成uuid的四种方法
在开发过程中,有时候需要js生成全局唯一标识符,在java中可以使用uuid,但是JS中没有现成的函数。总结了一下,JS生成唯一标识符的几种方法。
344 0
|
JavaScript
js类型检查
js类型检查
101 0
|
JavaScript 前端开发
|
JavaScript 前端开发 Go
《Ext JS实战》——1.6 测试
在这个配置对象中,把id设为'myWindow',以后Ext.getCmp方法就可以根据这个id找到这个窗口。接着又指定了这个窗口的标题,标题会以蓝色字体显示在窗口的最顶部区域,也就是叫做标题栏的地方。
2000 0
|
前端开发 JavaScript 开发工具
《Ext JS实战》——1.5 下载并配置
下载的SDK是个ZIP文件,差不多有6MB大小。后面会解释为什么这些文件会这么大。现在,把这个文件解压到一个用于专门保存JavaScript的地方。要使用Ajax,需要有一个Web服务器。我在自己的计算机上一般会配置一个本地的Apache,它是个免费的而且跨平台的Web服务器,不过Windows的IIS也行。
1675 0
|
前端开发 JavaScript 容器
5.Ext JS actioncolumn动态加载图标/提示
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/54237726 ...
940 0