- 浏览: 604389 次
- 性别:
- 来自: 北京
最新评论
-
黑色幽默_cool:
这种不负责任的文章,多看一分钟都是浪费。
为什么使用ibatis而不用spring jdbcTemplate -
leibinhui:
不错啊 非常实用
JS正则表达式详解[收藏] -
suu:
写个存储过程,爆如下错误,是不是游标里的数据太多引起的?无法执 ...
使用Spring jdbc template调用Sybase带有返回结果集的储存过程-要点 -
travellers:
有SVR6了,为什么很多还在使用SVR4呢?
什么是SVR4?我们为什么要选择SVR4? -
dotjar:
生活是多么美好阿!
老公日记
原作网址:http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype
扩展:badqiu (badqiu@gmail.com)
使用说明整理:Ivan Li (http://ivanl.iteye.com)
1:引用js文件
prototype.js是所有的基础
validation.js真正的验证框架文件,badqiu在原来的基础上增加了许多不错的功能.
2:引用css文件
可以参加style_min.css中的样式声明,也可以把style_min.css中的样式声明引入到你的框架js文件中去.
3:hellow world
在badqiu的扩展中如果要是某个form中的元素被验证可以这样给声明的form中加一个class='required-validate'的属性,框架会在load是自动绑定
所有要验证的域.
在要检查的域中通过class属性来声明被检查域的限制条件,例如上面的class='required min-length-2'表示这是一个非空,并且最小长度是2的域,
在编辑域失去焦点时,会自动检查,如果输入不满足上述条件,则产生错误提示.
4:检查规则说明
5:Validation的选项说明
可以手工指定要验证那个form,在指定是可以给定一些选项
创建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:添加自己的测试函数
或者这样
扩展:badqiu (badqiu@gmail.com)
使用说明整理:Ivan Li (http://ivanl.iteye.com)
1:引用js文件
js 代码
- <script src=< span="">"prototype.js" type="text/javascript"></script>
- <script src=<span class="string">"validation.js" type="text/javascript"></script>
prototype.js是所有的基础
validation.js真正的验证框架文件,badqiu在原来的基础上增加了许多不错的功能.
2:引用css文件
可以参加style_min.css中的样式声明,也可以把style_min.css中的样式声明引入到你的框架js文件中去.
3:hellow world
在badqiu的扩展中如果要是某个form中的元素被验证可以这样给声明的form中加一个class='required-validate'的属性,框架会在load是自动绑定
所有要验证的域.
xml 代码
- <!---->
- <form id='helloworld' action="#" class='required-validate'>
- helloworld:<!---->br>
- <!---->
- <textarea name='content' class='required min-length-2'><!---->textarea><!---->br>
- <input type='submit' value='Submit'/>
- <input type='reset' value='Reset'/>
- <!---->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中的一种
- 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 type=< span="">"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:添加自己的测试函数
js 代码
- Validation.add('class-name', 'Error message text', function(value [, element]) {
- return /* do validation here */
- });
或者这样
js 代码
- 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);
- }]
- ]);
- validation_2.3.3.rar (40.8 KB)
- 描述: 这个是badqiu的扩展版
- 下载次数: 791
评论
12 楼
hax
2007-05-31
使用class的这种思路非常不好!!!
我认为这是class的滥用。如果需要这样的功能,应该用自定义属性(现在浏览器都支持的)。
我认为现在比较好的方式是去实现WebApp1规范(未来的html5规范)所作的扩展。
我认为这是class的滥用。如果需要这样的功能,应该用自定义属性(现在浏览器都支持的)。
我认为现在比较好的方式是去实现WebApp1规范(未来的html5规范)所作的扩展。
11 楼
netlzh
2007-05-31
可以限制一个域输入的值大于或者小于另外一个域,能否做到大于等于和小于等于呢?
10 楼
jianfeng008cn
2006-12-15
<p><font style='background-color: #ffffff;'>这个框架的优点在于利用了elm的classname 可以把验证的规则 验证的结果和样式结合起来,</font></p>
<p><font style='background-color: #ffffff;'>而且可以自动生成提示信息,我按照自己的思路重新实现了一遍,并使其支持radio checkbox select 的验证</font></p>
<p><font style='background-color: #ffffff;'>在使用上我可以达到我前面那个扩展了的验证框架(myvalidator)同样的效果</font></p>
<p><font style='background-color: #ffffff;'>(可以把需要验证的form form元素以及验证规则都通过js来注入,而不需要处理html代码 ,因为是时间关系现在没有做Demo,目前代码也没有重新调整下,还可以精简很多的)</font></p>
<p><font style='background-color: #ffffff;'><font>不过不知道为什么大家都没什么意见<img src='http://www.iteye.com/javascripts/fckeditor/editor/images/smiley/msn/cry_smile.gif' alt=''/>。</font></font></p>
<p><font><a href='http://www.iteye.com/topic/38717'>http://www.iteye.com/topic/38717</a></font></p>
<p><font style='background-color: #ffffff;'>而且可以自动生成提示信息,我按照自己的思路重新实现了一遍,并使其支持radio checkbox select 的验证</font></p>
<p><font style='background-color: #ffffff;'>在使用上我可以达到我前面那个扩展了的验证框架(myvalidator)同样的效果</font></p>
<p><font style='background-color: #ffffff;'>(可以把需要验证的form form元素以及验证规则都通过js来注入,而不需要处理html代码 ,因为是时间关系现在没有做Demo,目前代码也没有重新调整下,还可以精简很多的)</font></p>
<p><font style='background-color: #ffffff;'><font>不过不知道为什么大家都没什么意见<img src='http://www.iteye.com/javascripts/fckeditor/editor/images/smiley/msn/cry_smile.gif' alt=''/>。</font></font></p>
<p><font><a href='http://www.iteye.com/topic/38717'>http://www.iteye.com/topic/38717</a></font></p>
9 楼
white182517
2006-12-15
<p><font>这个验证框架利用了OO思想,但是感觉使用起来过于复杂,主要是关于验证规则的描述部分。上述的设计只在具体的验证规则层面进行了抽象,但是和验证表现逻辑进行了紧耦合,个人以为还是我的设计使用起来更简洁 <img src='/javascripts/fckeditor/editor/images/smiley/msn/tounge_smile.gif' alt=''/> :</font></p>
<p><font><a href='http://www.iteye.com/topic/32983'>www.iteye.com/topic/32983</a></font></p>
<p><font><a href='http://www.iteye.com/post/178969'>www.iteye.com/post/178969</a></font></p>
<p><font><a href='http://www.iteye.com/topic/32983'>www.iteye.com/topic/32983</a></font></p>
<p><font><a href='http://www.iteye.com/post/178969'>www.iteye.com/post/178969</a></font></p>
8 楼
IvanLi
2006-12-15
使用这个版本的时候很可能还要加一些自己的js check,比如几个域的依赖等等
可以这样加入自己的js check
1:把input type='submit'换成 button
2: onclick = 'inputCheck()'
就可以了
可以这样加入自己的js check
1:把input type='submit'换成 button
2: onclick = 'inputCheck()'
function inputCheck() { //your own js check code if(Validation.$('mainForm').validate()) { $('mainForm').submit(); } }
就可以了
7 楼
超级潜水员
2006-12-09
6 楼
yangyundu
2006-12-07
谢谢 收藏!
5 楼
simbasun
2006-12-06
好..藏之~
4 楼
Tin
2006-12-06
nice!这个东西的侵入性相当小。工程里面的unittest很有意思,js项目有单元测试很爽呀。
3 楼
badqiu
2006-12-05
谢谢你的总结,不错
2 楼
超级潜水员
2006-12-04
不错,赞一个!!
1 楼
guoshiguan
2006-12-04
这种方式好,
我在做struts的ajax时,也用使用过class来做这种批配,就是不知在控件很多的性况下会不会出现性能问题
我在做struts的ajax时,也用使用过class来做这种批配,就是不知在控件很多的性况下会不会出现性能问题
发表评论
-
use hibernate3-maven to export sql based on entity
2011-08-07 18:19 1398<plugin> <group ... -
uninstall mysql completely in my Mac X 10.6
2011-08-07 12:19 1194sudo rm /usr/local/mysql ... -
my vimrc
2011-05-14 11:02 1716copy from http://www.vi-improve ... -
使用HSQLDB来作EJB3 EntityBean到Unit Test要点
2010-01-20 17:17 2110add <property name=" ... -
user xrandr to change my desktop's resolution
2009-12-16 17:04 1680xrandr --newmode "1280x ... -
XSS的关键之列表
2009-10-11 17:20 1832//this field are used tp esc ... -
python查看方法帮助(from dive into python)
2009-09-30 11:31 2622def info(object, spanding=10, c ... -
selenium 测试ajax的关键
2009-01-20 18:26 42291: waitForCondition(contidtion, ... -
RichFaces 手记
2008-10-07 15:46 0安装,除了richfaces 下载包中的jar( " ... -
代码检查工具
2008-09-25 11:48 2558findBugs, PMD, CheckStyle find ... -
CI工具hudson
2008-09-24 17:04 3112CI工具除了hudson,还有很多,例如CruiseContr ... -
创建solaris package step by step
2008-09-24 11:27 1920原文地址:http://www.ibiblio.org/pub ... -
什么是SVR4?我们为什么要选择SVR4?
2008-09-23 14:13 4955http://www.lslnet.com/linux/f/d ... -
IPS 中的pkg command学习笔记
2008-09-22 17:18 1845pkg(1): 使用pkg(1)来创建一个镜像,安装,升级,管 ... -
On Board前的学习计划
2008-09-18 09:37 15181:在virtual box 上虚拟一个OpenSolaris ... -
YUI Grid CSS的优雅设计
2008-09-02 22:38 2814最近加入了一个GAE的项目cpedialog,该项目的前端布局 ... -
我很懒,但是懒人有懒办法
2008-08-18 17:06 1801今天要使用jackrabbit做个小东西,上apache一看, ... -
当XPath遇上NameSpace
2008-07-23 19:39 6562在jdk5.0中,已经包含了对Xpath的支持,可一通过下面的 ... -
ubuntu下安装ipmsg-飞鸽传书
2008-07-21 09:32 28801 先下载 源码 下载的是gnome2版本的源码 http ... -
sudo 执行时无密码(不安全)
2008-07-17 17:18 2213sudo visudo root ALL=(ALL) ...
相关推荐
简洁,快速的验证语法 无需编写验证提示信息(当然也支持自定义提示信息) 错误消息在指定地方显示 支持组合验证 Ajax支持 基于prototype.js 支持国际化 易于扩展 基于标准的Html属性...
标题中的“一款基于Prototype 1.6 的web布局管理器”指的是一个用于Web应用程序的布局解决方案,它构建在Prototype JavaScript库的1.6版本之上。Prototype是一个广泛使用的JavaScript框架,它提供了一系列工具来简化...
JavaScript验证框架是Web开发中一个重要的工具,它主要用于在客户端对用户输入的数据进行实时检查,以确保数据的有效性和合规性,从而减少服务器端的压力并提供更好的用户体验。在本主题中,我们将深入探讨基于...
这时,出现了第一个Web前端框架技术――JavaScript框架。 在2000年代,出现了大量的Web前端框架技术,如Prototype、jQuery、Dojo等。这些框架技术的出现,极大地改变了Web应用程序的开发方式,使得开发者可以更快速...
在本文中,我们将深入探讨如何使用Prototype JavaScript框架创建一个基于原型的放大镜插件。这个插件主要用于在网页上实现图片的局部放大功能,适用于Internet Explorer(IE)和Firefox等主流浏览器。 首先,我们来...
JavaScript原型通用验证框架是一种基于JavaScript设计模式的高效验证工具,其核心原理是利用JavaScript的原型(prototype)特性来实现对象的扩展与复用,从而达到代码的模块化和可维护性。这一框架广泛应用于Web开发...
一款基于Prototype的Validation表单验证插件,实现Ajax风格的无刷新表单验证功能,当用户输入完表单,即时显示该项输入是否正确,不正确则会给出提示,适合那些比较喜欢简洁风格,又要求功能准确的用户,本款表单...
本文将深入探讨Ajax在表单验证中的应用,特别是基于Prototype框架的实现方式,以及动态验证的重要性。 一、Ajax基础 Ajax的核心是通过JavaScript与服务器进行异步通信,无需刷新整个页面就能获取或更新数据。它由...
`validation.js`是一个专门用于前端表单验证的库,它基于Prototype JavaScript框架构建,提供了一种简单且灵活的方式来实现这一功能。 **Prototype框架** 是一个广泛使用的JavaScript库,它扩展了JavaScript语言的...
7. **Element对象**:Prototype框架中定义了一个Element对象,它包含了许多方便的DOM操作方法,如添加或移除CSS类(addClassName/removeClassName),检查元素是否包含特定CSS类(hasClassName),获取或设置元素...
`Scriptaculous`库,作为Prototype的一个扩展,提供了动画和效果,如滑动、淡入淡出等,增强了用户体验。 ### 3. Ajax Prototype的Ajax模块简化了与服务器端进行异步通信的过程。`Ajax.Request`和`Ajax.Updater`...
- **基础架构:** LivePipe UI 基于 Prototype JavaScript 框架构建,这是一个流行的轻量级 JavaScript 库。 - **特性:** 提供了一系列高质量的 Web 2.0 widgets 和 controls,这些组件都经过了严格的测试以确保...
本项目“基于prototype制作的幻灯片”就是利用Prototype.js框架来创建一个动态的、交互式的幻灯片展示组件。 Prototype.js库的核心在于其强大的对象扩展机制和DOM操作功能。它引入了类的概念,让JavaScript具备了...
Prototype是一个轻量级的JavaScript框架,其核心目标是扩展JavaScript语言,提供更丰富的功能和更简洁的API。它引入了类的概念,使得JavaScript具备了面向对象编程的能力,同时简化了DOM操作。在动画实现方面,...
Bootstrap是Twitter推出的一个开源前端框架,主要用于构建响应式布局和移动设备优先的Web项目。Bootstrap包含了CSS样式、JavaScript组件和字体图标等资源,如栅格系统用于创建灵活的布局,导航条、模态框和下拉菜单...
Prototype是一个由Sam Stephenson创建的JavaScript库,旨在简化和标准化JavaScript编程,使之成为Web应用程序开发的重要工具之一,尤其是在Web 2.0时代。在Prototype出现之前,开发者面临着跨浏览器兼容性的问题以及...
本项目就是基于Prototype、Spring和Hibernate这三个组件实现的一个自动提示功能,这为我们提供了一个理解这些技术如何协同工作的实例。 Prototype是JavaScript的一个库,它为浏览器提供了许多实用的函数,如事件...
Prototype是一个广泛使用的JavaScript框架,它为JavaScript提供了一些类的特性,使得代码更加简洁和易于维护。 Prototype的核心思想是通过扩展JavaScript的内置对象和添加新的方法来增强其功能。在处理表格这类HTML...
prototype.js 是一个由Sam Stephenson写的JavaScript包。这个构思奇妙编写良好的一段兼容标准的一段代码将承担创造胖客户端, 高交互性WEB应用程序的重担。轻松加入Web 2.0特性。
ASP基于Prototype的Ajax无刷新登录实例是一个非常适合初学者学习AJAX技术的应用案例。在这个实例中,我们将探讨如何在ASP(Active Server Pages)环境中利用Prototype JavaScript库实现无刷新的用户登录功能,同时...