Filter

系统中的验证使用的是Filter库来完成,利用Filter配置几个属性和参数就实现了表单验证,简化了工作。基本原理很简单,在onload之后按照属性查找元素,然后绑定相应的change/blur事件,当表单数据发生变动的时候就会触发验证函数。

Filter示例

日期格式的例子:

<!--下面这些必不可少
filter="DATE" dtype="" param=""
class="hasDatepicker"
-->
<div class="component EditorText" ref="EditorText" filter="DATE" param dtype>
<SPAN class="notRequired hasDatepicker">Date Scanned</SPAN>
<INPUT id="Scaned_Date1" name="Scaned_Date1">
</div>
<!--整型-->
<div style="left:0px;top:5px;" class="component EditorText" ref="EditorText" filter="INTEGER" dtype="" param="">
<SPAN style="FONT-SIZE: 1em; CURSOR: text" class=notRequired>xxx</SPAN>
<INPUT style="width:250px" id="xxxxxxxxxxxxxx" title="Please click here to enter the inspection date." tabindex="0" name="xxxxxxxxxxxxxx" maxLength=50>
</div>
<!--金额-->
<div style="left:0px;top:5px;" class="component EditorText" ref="EditorText" filter="MONEY" dtype="" param="">
<SPAN style="FONT-SIZE: 1em; CURSOR: text" class=notRequired>xxx</SPAN>
<INPUT style="width:250px" id="xxxxxxxxxxxxxx" title="Please click here to enter the inspection date." tabindex="0" name="xxxxxxxxxxxxxx" maxLength=50>
</div>
<!--email-->
<div style="left:0px;top:5px;" class="component EditorText" ref="EditorText" filter="EMAIL" dtype="" param="">
<SPAN style="FONT-SIZE: 1em; CURSOR: text" class=notRequired>xxxx</SPAN>
<INPUT style="width:250px" id="xxxxxxxxxxxxxx" title="Please click here to enter the inspection date." tabindex="0" name="xxxxxxxxxxxxxx" maxLength=50>
</div>

手动触发验证

Validator.Filters.GREATERTHANEQUALS.filter(credit_debit, "FLOAT", 0);

所有的Filter列表

DATE
EMAIL
EMAILS
EQUAL
FEIN
FLOAT
INTEGER
MONEY
PASSWORD
PHONE
SSN
STATE
TIME
ZIPCODE
GREATERTHAN
GREATERTHANEQUALS
LESSTHAN
LESSTHANEQUALS
CUSTOMEXPRESSION
CUSTOMFUNCTION

带参数多Filter的配置

<div class="component EditorText" ref="EditorText" style="" filter="DATE|GREATERTHANEQUALS|LESSTHANEQUALS" dtype="|DATE|DATE" param="|01/01/1900|01/01/2100">
<span class="hasDatepicker required" style="">Effective Date</span>
<input id="PQ_EffectiveDate" name="PQ_EffectiveDate" maxlength="10" class="hasDatepicker" style="width: 150px;" tabindex="0" title="" type="text" value="10/14/2014">
</div>
filter="INTEGER" param="" dtype="INTEGER"
filter="MONEY" param="" dtype=""
filter="DATE" param="" dtype=""
filter="DATE|GREATERTHANEQUALS" dtype="|DATE" param="|01/01/1900"
filter="DATE|GREATERTHANEQUALS|LESSTHANEQUALS" dtype="|DATE|DATE" param="|01/01/1900|01/01/2100"
filter="STATE" param="" dtype=""
filter="INTEGER|GREATERTHAN" param="|0" dtype="|INTEGER"
filter="FLOAT|GREATERTHAN" param="|0" dtype="|FLOAT"
filter="PHONE" param="" dtype=""
filter="LESSTHANEQUALS|GREATERTHANEQUALS" param="999999|1000" dtype="FLOAT|FLOAT"

正则式实现验证

如何使用正则式实现验证参考这篇文章:JavaScript正则式入门

posted @ 2017-02-28 09:36 by Mark

Stingray验证机制的更多相关文章

  1. 【MVC】ASP.NET MVC Forms验证机制

    http://www.cnblogs.com/bomo/p/3309766.html 随笔 - 121  文章 - 0  评论 - 92 [MVC]ASP.NET MVC Forms验证机制 ASP. ...

  2. jquery.validate 验证机制

    jquery.validate 验证机制 金刚 juqery juqery.validate 在开发系统时,使用了jquery.validate.js 这个验证插件,来校验数据合法性 重点 验证是以i ...

  3. 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证

    背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...

  4. Linux登录验证机制、SSH Bruteforce Login学习

    相关学习资料 http://files.cnblogs.com/LittleHann/linux%E4%B8%AD%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E8%AE% ...

  5. Google 推出全新的两步验证机制

    近日 Google 在官方的 Apps Updates 博客公布了全新的两步验证功能--Google 提示,新的功能通过与 Google App 联动,进一步将验证确认工作缩减到仅有两步,同时支持 A ...

  6. ASP.NET MVC- 数据验证机制

    ASP.NET MVC的数据验证机制,比起ASP.NET WEBFORM那种高效很多.下面记录以下两个示例,以便日后方便查阅. 方式一:在Controller里通过AddModelError方法返回错 ...

  7. 通过扩展改善ASP.NET MVC的验证机制[实现篇]

    原文:通过扩展改善ASP.NET MVC的验证机制[实现篇] 在<使用篇>中我们谈到扩展的验证编程方式,并且演示了本解决方案的三大特性:消息提供机制的分离.多语言的支持和多验证规则的支持, ...

  8. 通过扩展改善ASP.NET MVC的验证机制[使用篇]

    原文:通过扩展改善ASP.NET MVC的验证机制[使用篇] ASP.NET MVC提供一种基于元数据的验证方式是我们可以将相应的验证特性应用到作为Model实体的类型或者属性/字段上,但是这依然具有 ...

  9. Python_socket常见的方法、网络编程的安全注意事项、socketsever模块、浏览器中在一段时间记录用户的登录验证机制

    1.socket常见的方法 socket_常见方法_服务器端 import socket from socket import SOL_SOCKET,SO_REUSEADDR sk = socket. ...

随机推荐

  1. rtsp实现的开源代码

    * live.com   C/S   C++   http://www.live555.com * darwin     S     C++   http://www.opensource.apple ...

  2. Java获取当前类名的两种方法

    适用于非静态方法:this.getClass().getName() 适用于静态方法:Thread.currentThread().getStackTrace()[1].getClassName() ...

  3. git 拉取远程指定分支 pull本地不存在的分支

    默认,git项目只有一个分支,就是master,我们当然可以在本地创建多个分支,并推送到远程git管理平台上,或者将远程git管理平台上的其他分支拉取到自己电脑上. 一.查看本地已有的分支 进入到项目 ...

  4. Java中的Future模式原理自定义实现

    摘要:Future模式类似于js中的ajax等,是一个异步获取数据的机制,这里我把自己的一些形象理解通过代码实现了一下.该机制可以形象的理解为:调用获取数据的方法,首先获得一个没有装数据的空箱子(这个 ...

  5. CentOS Virtual Machine 设置SSH主机登录

    查看Centos7的IP 我们输入ip查询命名 ip addr  也可以输入 ifconfig查看ip,但此命令会出现3个条目,centos的ip地址是ens33条目中的inet值. 发现 ens33 ...

  6. N体运动的程序模拟

    这依然是与<三体>有关的一篇文章.空间中三个星体在万有引力作用下的运动被称之为三体问题,参见我的上一篇文章:三体运动的程序模拟.而这一节,对三体问题进行了扩展,实现了空间中N个星体在万有引 ...

  7. 4个设计绝招教你减少PCB板电磁干扰

    电子设备的电子信号和处理器的频率不断提升,电子系统已是一个包含多种元器件和许多分系统的复杂设备.高密和高速会令系统的辐射加重,而低压和高灵敏度 会使系统的抗扰度降低. 因此,电磁干扰(EMI)实在是威 ...

  8. webAR涉及的技术【转】

    1.技术体系 1.1技术体系整理 其中绿色底色的代表Demo中表现出的能力比较成熟,可以直接应用. 脑图地址:http://naotu.baidu.com/file/3392a895a90397252 ...

  9. Windows Server 2008 R2 小技巧 (转)

    一些 Windows Server 2008 R2 的小技巧,包括启用「God Mode (上帝模式)」.添加「快速启动」工具栏.启用桌面「个性化」服务.停用「密碼複雜性」要求,对老程序员熟悉新版的 ...

  10. Android Eclipseproject开发中的常见调试问题(二)android.os.NetworkOnMainThreadException 异常的解决的方法

    android.os.NetworkOnMainThreadException 异常的解决的方法. 刚开是把HttpURLConnectionnection 打开连接这种方法放在UI线程里了,可能不是 ...