基于prototype的web验证框架

2016-02-19 16:35 15 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的基于prototype的web验证框架,希望大家看完后能赶快学习起来。

【 tulaoshi.com - Web开发 】

  prototype.js是所有的基础

  validation.js真正的验证框架文件,badqiu在原来的基础上增加了许多不错的功能

  1:引用js文件

script"prototype.js"type="text/javascript"/script script"validation.js"type="text/javascript"/script

  2:引用css文件

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  可以参加style_min.css中的样式声明,也可以把style_min.css中的样式声明引入到你的框架js文件中去.

  3:hellow world

  在badqiu的扩展中如果要是某个form中的元素被验证可以这样给声明的form中加一个class='required-validate'的属性,框架会在load是自动绑定

  所有要验证的域.  

  xml 代码

!-- 为form增加required-validate class,标识需要验证form --   form id='helloworld' action="#" class='required-validate'     helloworld:!--/span--br     !--通过class添加验证: required表示不能为空,min-length-15表示最小长度为15 --     textarea name='content' class='required min-length-2'!--/span--textarea!--/span--br     input type='submit' value='Submit'/     input type='reset' value='Reset'/ !--/span--form 

  在要检查的域中通过class属性来声明被检查域的限制条件,例如上面的class='required min-length-2'表示这是一个非空,并且最小长度是2的域,

  在编辑域失去焦点时,会自动检查,如果输入不满足上述条件,则产生错误提示.

  4:检查规则说明

  required -- 非空域

  validate-number -- 一个有效数

  validate-digits -- 只能包含[0-9]任意个数字

  validate-alpha -- 只能是字母[a-zA-Z]

  validate-alphanum -- 只能是字母和数字的组合

  validate-date -- 只能是日期

  validate-email -- 只能是有效的email

  validate-url -- 只能是有效的url地址

  validate-date-au -- 日期的形式必须是dd/mm/yyyy

  validate-one-required -- 至少有一个被选中,例如一组checkbox, radiobutton,它们最好包含在一个div和span中

  validate-date-cn -- 日期的形式必须是yyyy/mm/dd

  validate-integer -- 只能是整数,可以有正负号

  validate-chinese -- 只能是中文

  validate-ip -- 有效的IP地址

  validate-phone -- 有效的电话(仅适用于中国)

  validate-mobile-phone -- 有效的手机号,在badqiu的版本中只验证了135的,有待改进

  validate-equals-$otherInputId -- 必须和某个input field相等例如 validate-equals-otherInputId(此处$some表示一个特定的值)

  less-than-$otherInputId -- 小于某个input field less-than-otherInputId(此处$some表示一个特定的值)

  great-than-$otherInputId -- 大于某个input field less-than-otherInputId(此处$some表示一个特定的值)

  min-length-$number -- 最小长度是$number(此处$some表示一个特定的值)

  max-length-$number -- 最大长度是$number(此处$some表示一个特定的值)

  validate-file-$type1-$type2-$typeX -- file的input必须是声明的$type1 -- $typeX中的一种

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  validate-float-range-$minValue-$maxValue -- 必须是$minValue到$maxValue的一个浮点数

  validate-int-range-$minValue-$maxValue -- 必须是$minValue到$maxValue的一个整数

  validate-length-range-$minLength-$maxLength -- 输入字符串的长度必须在$minLength到$maxLength之间

  max-value-$number -- 输入域的最大值是$number

  min-value-$number -- 输入域的最小值是$number

  validate-pattern-$patternAttributes -- 通过自定义pattern来验证输入域的正确性

  validate-ajax -- 通过ajax来验证输入域

  5:Validation的选项说明

  可以手工指定要验证那个form,在指定是可以给定一些选项

  js 代码

script"text/javascript"   var valid = new Validation('form-id', {onSubmit:false});   var result = valid.validate(); /script

  创建Valuedation是的参数说明

  onSubmit -- 是否绑定onSubmit函数, default - true

  stopOnFirst -- 是否在检查到第一个错误时就停止检查 default- false

  immediate -- 是否在被检测域失去焦点时就检查被检查域 default - false

  focusOnError -- 是否把焦点移动到发生错误的域上 default - true

  useTitles -- 是否使用提示 default - false

  onFormValidate:当form被检测和的回调函数,有两个输入参数 arg[0]-检测form的结果true or false, arg[1]-form本身的id

  onElementValidate:当没个element被检查后的回调函数,有两个输入参数 arg[0]-检测form的结果true or false, arg[1]-element本身的id

  6:添加自己的测试函数

Validation.add('class-name', 'Error message text', function(value [, element]) {   return /* do validation here */ });

  或者这样

Validation.addAllThese([   ['required', 'This is a required field.', function(v) {     return !Validation.get('IsEmpty').test(v);   }],   ['validate-number', 'Please use numbers only in this field.', function(v) {     return Validation.get('IsEmpty').test(v) || !isNaN(v);   }],   ['validate-digits', 'Please use numbers only in this field.', function(v) {     return Validation.get('IsEmpty').test(v) || !/[^d]/.test(v);   }] ]);

来源:http://www.tulaoshi.com/n/20160219/1612512.html

延伸阅读
标签: Web开发
增加validate-ajax以支持ajax验证  增加validate-pattern直接通过正则表达式的认证  修改validate-equlas以验证密码与确认密码的问题  增加less-than与great-than的验证以支持开始日期与结束日期相比较的问题  增加validation之间内部依赖的支持,  欢迎大家提出改进,以便框架完成的更好如果需要,我会在将来...
标签: Web开发
密码强度验证的方式有很多,今天给大家推荐一个通过JQuery实现的密码强度验证控件,只需要很少的代码便能实现。 因为是基于JQuery的控件,当然需要JQuery库,还要一个本控件的JS。JQuery的JS大家可以到官网下载:http://code.jquery.com/jquery-1.4.2.min.js 这个控件的JS文件:password_strength_plugin.js 复制代码 代码如下: (function(...
标签: Web开发
文章提示 AJAX和JMX分别位于系统管理栈的两个对立端。然而,如今AJAX模型已普遍存在于丰富的浏览器客户端。这使得该模型在构架领域为在问题解析管道中提高支持模式所具有的优点变得模糊起来。 本文将详细描述一种AJAX架构的优点-它可以把管理状态"广播"到一个能够使用浏览器的用户基上而不必等待页面更新。 这种架构是一个通用模型...
标签: Web开发
应用程序开发技术正发生着一次质的飞跃,从根本上大幅度提高开发人员的生产效率,它开启了一道通向全新概念的应用程序的大门。 在过去,开发人员一直通过集成本地系统服务来构建应用程序。在这种模式下,开发人员可以访问丰富的开发资源并能严格控制应用程序的行为。 如今,开发人员在很大程度上已挣脱了这种模式的束缚,致力于构建具...
标签: Web开发
提要 实时的数据校验是AJAX技术的重要优点之一,Struts校验框架通过加入这种技术进一步丰富了其MVC,从而使得Web应用程序的开发效果更接近于桌面应用程序。 一、 引言 校验框架的根本目的是实现域校验。在Web应用程序中有许多方法可以实现域校验,总体上可以分为两类:服务器端和客户端。其中,Struts校验框架是适合于基于Java的...

经验教程

311

收藏

17
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部