【转贴】扩展基于prototype的validation.js

原帖:http://www.iteye.com/topic/30962

validation.js是一个基于prototype表单前端验证工具,与其它库相比,简单易用. 
下面是对validation的介绍 
http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/ 
ajax 
http://ajax.org/space/start/2006-05-15/2 
http://ajax.org/space/start/2006-05-22/1 

以下是对其做的扩展. 
* 新增验证: 
* 增加min-value-number验证,例: 最小值为10.1 = min-value-10.1 
* 增加max-value-number验证,例: 最大值为-100.1 = min-value--100.1 
* 增加长度范围validate-length-range-minLength-maxLength验证,例: 最小长度为1,最大长度为10 = validate-length-range-1-10 
* 增加整型数字范围validate-int-range-minValue-maxValue验证,例: 5至20 = validate-int-range-5-20 
* 增加浮点数字范围validate-float-range-minValue-maxValue验证,例: -1.1至10 = validate-float-range--1.1-10 
* 增加min-length-number验证,例: 最小长度为10 = min-length-10 
* 增加max-length-number验证,例: 最大长度为10 = max-length-10 
* 增加文件类型 validate-file-type1-type2-typeX 的验证,例: validate-file-zip-png-jpeg 将验证文件是否为zip,png,jpeg格式之一 
* 增加中文日期验证 validate-date-cn 
* 增加相等验证validate-equals-item1-item2-itemX,判断输入的值为[item1,item2,itemX]之一 

* 修改记录: 
* 增加Validation._getInputValue() 取代$F()方法以对file input进行验证 
* 修正Validation.isVisible() 中while循环中elm可能不存在为空的问题 
* 增加ValidationFactory for cache 
* 修改Validation.get()方法使用indexOf()的匹配模式,以适应可以通过class传递参数 
* 修改errorMsg可由方法返回 

min-length-number,max-length-number,validate-file-xx1的实现机制主要是直接使用className作为参数传递,再在验证方法中抽取max-length-number的number作为参数使用 

posted on 2011-04-18 15:09  jojozhuang  阅读(250)  评论(0编辑  收藏  举报