`
wutao33543
  • 浏览: 64679 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

基于prototype的web验证框架

阅读更多
prototype.js是所有的基础
validation.js真正的验证框架文件,badqiu在原来的基础上增加了许多不错的功能
1:引用js文件
<script>"prototype.js"
type="text/javascript">
</script>  
<script>"validation.js"
type="text/javascript">
</script>
2:引用css文件
可以参加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中的一种

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);  
     }]  
]);
分享到:
评论

相关推荐

    javascript验证框架

    综上所述,基于Prototype的JavaScript验证框架是Web开发中的强大工具,它利用Prototype的特性实现高效、灵活的客户端验证。通过理解Prototype库的基础和验证框架的核心原理,开发者能够构建出符合项目需求的验证解决...

    表单验证类 基于prototype的validation.js

    `validation.js`是一个专门用于前端表单验证的库,它基于Prototype JavaScript框架构建,提供了一种简单且灵活的方式来实现这一功能。 **Prototype框架** 是一个广泛使用的JavaScript库,它扩展了JavaScript语言的...

    Ajax最全页面验证-基本prototype框架

    本文将深入探讨Ajax在表单验证中的应用,特别是基于Prototype框架的实现方式,以及动态验证的重要性。 一、Ajax基础 Ajax的核心是通过JavaScript与服务器进行异步通信,无需刷新整个页面就能获取或更新数据。它由...

    prototype-1.5.0框架.rar

    - 测试文件,用于验证框架的功能是否正常工作。 尽管 Prototype 1.5.0 是一个较旧的版本,但它仍然是学习 JavaScript 框架历史和基本概念的重要资源。随着技术的发展,后续版本的 Prototype 添加了更多功能,例如对...

    prototype.js框架资料

    《prototype.js框架详解》 Prototype.js是一个轻量级的JavaScript库,主要由Sam Stephenson开发,旨在简化DOM操作,提供面向对象的编程支持,并优化JavaScript的一些常见任务。它以其强大的功能和良好的性能,在Web...

    基于prototype的js异步上传带进度条 有后台代码

    实际应用中,可能需要结合其他库如jQuery或现代的前端框架(如React、Vue、Angular)来提供更好的用户体验。同时,随着技术的发展,Web Workers和Fetch API等新特性也可以用来优化大文件上传的性能。在实际项目中,...

    毕设&课程作业_基于Java web智能家居监测系统prototype.zip

    《基于Java Web的智能家居监测系统Prototype》是一款专为计算机科学与技术专业学生设计的毕业设计或课程作业项目,旨在提供一个实现智能家居监控功能的原型系统。这个系统利用了Java Web技术,结合人工智能元素,...

    js原型通用验证框架

    JavaScript原型通用验证框架是一种基于JavaScript设计模式的高效验证工具,其核心原理是利用JavaScript的原型(prototype)特性来实现对象的扩展与复用,从而达到代码的模块化和可维护性。这一框架广泛应用于Web开发...

    基于MVC的Struts框架在Web中的研究与实现

    - **验证框架**:提供表单验证功能,确保用户输入的数据符合业务规则。 - **整合 Ajax**:通过引入 Ajax 技术,实现页面的部分刷新,提高用户体验,减少服务器压力。Struts 可以与 AJAX 库如 Prototype 或 Dojo ...

    Really easy field validation with Prototype 1.5.3 中文扩展版

    前端验证框架基于此库构建,充分利用了Prototype的特性,使得验证逻辑编写更加简洁。 在"Really easy field validation with Prototype 1.5.3 中文扩展版"中,验证规则可以轻松地应用到表单元素上,例如输入框、...

    Prototype-1.pdf

    Prototype框架的目标是简化JavaScript编程,通过提供一系列简洁易用的方法来处理DOM操作、Ajax请求和其他常见的Web开发任务。 #### 二、Prototype框架的关键特性 - **Ajax支持**:Prototype提供了多个用于Ajax请求...

    介绍ajax开发框架的书《Prototype and Scriptaculous quickly》

    - **表单验证**:利用Prototype的DOM操作能力,可以轻松实现客户端表单验证。 - **动态内容加载**:通过Ajax技术,可以在不刷新整个页面的情况下加载新的内容。 - **交互式元素**:例如弹出窗口、拖拽功能等,都可以...

    ajax书籍,用于WEB

    Ajax(Asynchronous JavaScript and XML)并非新兴技术,而是基于现有技术的一种全新Web开发模型。这一概念首次提出于2005年,它利用了HTML、JavaScript、CSS以及DOM技术,实现了Web页面的即时通信与无抖动更新,...

    prototype demo

    通过这个Prototype demo,开发者可以学习到如何利用Prototype库来增强JavaScript的原生对象,提升代码的可读性和可维护性,并掌握基于Prototype的Ajax操作,提高Web应用的用户体验。同时,结合CSS文件,可以了解前端...

    prototype整合json实现无刷新验证用户名

    在Web开发中,为了提供更好的用户体验,我们常常需要实现无刷新验证功能,即在用户输入信息时即时检查数据的有效性,而无需提交整个表单。本教程将关注如何使用JavaScript库Prototype结合JSON(JavaScript Object ...

    client_prototype:Web 客户端概念原型验证的基础框架

    Web 客户端概念原型验证的基础框架 项目开发 您需要在您的机器上安装 ,并在路径中工作 需要安装项目的依赖——项目根目录下的npm install 要启动项目,打开你的 shell 到项目的根文件夹,然后运行: ./run_dev_...

    jsvalidation_脚本实例_

    "jsvalidation_脚本实例_" 涉及到的是一个基于Prototype库的表单验证插件。Prototype是一个强大的JavaScript库,它为JavaScript开发提供了许多便利的功能,包括DOM操作、事件处理以及对象和类的扩展。 1. **...

    javascript框架介绍

    Scriptaculous是基于Prototype框架的高级UI组件库,包含六个JS文件,每个文件负责特定的JS视觉效果。它被广泛应用于各种网站,如Digg,证明了其实用性和流行度。Scriptaculous的优势在于与Prototype的无缝集成,以及...

Global site tag (gtag.js) - Google Analytics