JQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。

使用JQuery Validate之前首先引入以下两个文件:jquery-1.11.1.js jquery.validate.js。下载链接:https://jqueryvalidation.org。

菜鸟教程提供的 1.14.0 版本下载地址:http://static.runoob.com/download/jquery-validation-1.14.0.zip

直接上实例,html代码如下:

 <div id="form_con">

        <form class="cmxform" id="myform" method="post" action="">

            <table cellspacing="0" cellpadding="0">

                <tbody>

                    <tr>

                        <td>用户名</td>

                        <td><input type="text" id="username" name="username" class="required" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>密码</td>

                        <td><input id="password" type="password" name="firstpwd" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>验证密码</td>

                        <td><input type="password" name="secondpwd" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>性别</td>

                        <td><input id="sex" type="radio" name="sex" />男<input type="radio" name="sex" />女</td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>年龄</td>

                        <td><input type="text" name="age" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>邮箱</td>

                        <td><input type="text" name="email" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>时间</td>

                        <td><input type="date" name="time" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>个人网页</td>

                        <td><input type="text" name="purl" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>电话</td>

                        <td><input type="text" name="telephone" /></td>

                        <td></td>

                    </tr>

                    <tr>

                        <td>附件</td>

                        <td><input type="file" name="afile"/></td>

                        <td></td>

                    </tr>

                    <tr><td colspan="3" ><input type="submit" name="submit" value="提交" /><button>重置</button></td></tr>

                </tbody>          

            </table>

        </form>

  </div>  

新建一个validated.js文件用于验证以上表单数据:

$(function(){
var validator = $("#myform").validate({ debug: true, //调试模式取消submit的默认提交功能 errorClass: "haha", //默认为错误的样式类为:error focusInvalid: false, focusCleanup: true, onkeyup: false, errorElement: "span", submitHandler: function(form) { //表单提交句柄,为一回调函数,带一个参数:form alert("提交表单"); form.submit(function()
{
return false;
}); //提交表单 }, rules: { //定义验证规则,其中属性名为表单的name属性 username: { required: true, minlength: 2, remote: {
url: "js/test.txt", //后台处理程序
type: "get", //数据发送方式
//dataType: "text", //接受数据格式
data: { //要传递的数据
username: function() {
return $("#username").val();
}
}
}
//response.getwrite().write("true") }, firstpwd: { required: true, //minlength: 6 rangelength: [6, 8] }, secondpwd: { required: true, equalTo: "#password" }, sex: { required: true }, age: { required: true, range: [0, 120] }, email: { required: true, email: true }, telephone:{ required:true, isTelephone:true }, purl: { required: true, url: true }, afile: { required: true, accept: "xls,doc,rar,zip" } }, messages: { //自定义验证消息 username: { required: "用户名是必需的!", minlength: $.validator.format("用户名至少要{0}个字符!"), remote: $.validator.format("{0}已经被占用") }, firstpwd: { required: "密码是必需的!", rangelength: $.validator.format("密码要在{0}-{1}个字符之间!") }, secondpwd: { required: "密码验证是必需的!", equalTo: "密码验证需要与密码一致" }, sex: { required: "性别是必需的" }, age: { required: "年龄是必需的", range: "年龄必须介于{0}-{1}之间" }, email: { required: "邮箱是必需的!", email: "请输入正确的邮箱地址(例如 myemail@163.com)" }, telephone:{ required: "手机号码是必需的!" }, purl: { required: "个人主页是必需的", url: "请输入正确的url格式,如 http://www.domainname.com" }, afile: { required: "附件是必需的!", accept: "只接收xls,doc,rar,zip文件" } }, errorPlacement: function(error, element) { //验证消息放置的地方 error.appendTo(element.parent("td").next("td")); }, highlight: function(element, errorClass) { //针对验证的表单设置高亮 $(element).addClass(errorClass); }, success: function(label) { label.addClass("valid").text("Ok!") } /*, errorContainer: "#error_con", //验证消息集中放置的容器 errorLabelContainer: "#error_con ul", //存放消息无序列表的容器 wrapper: "li", //将验证消息用无序列表包围 validClass: "valid", //通过验证的样式类 errorElement: "span", //验证标签的名称,默认为:label success: "valid" //验证通过的样式类 */ }); // 手机号码验证
jQuery.validator.addMethod("isTelephone", function(value, element) {
var tel = /^1[358][0-9]{9}$/;
return tel.test(value);
}, "请正确填写您的手机号码"); $("button").click(function() { validator.resetForm(); }); });

注意:

1.username属性是通过远程验证的,通过remote连接后台程序进行验证。代码如下:

remote: {
url: "js/test.txt", //后台处理程序
type: "get", //数据发送方式
//dataType: "text", //接受数据格式
data: { //要传递的数据
username: function() {
return $("#username").val();
}
}

2.telephone元素的验证是自定义添加的方法,代码如下:

 // 手机号码验证
jQuery.validator.addMethod("isTelephone", function(value, element) {
var tel = /^1[358][0-9]{9}$/;
return tel.test(value);
}, "请正确填写您的手机号码");

addmethod里面有三个参数:name   function   message。 方法名称 调用方法  提示信息。

3.设置提示信息的地方:

 errorPlacement: function(error, element) {  //验证消息放置的地方

            error.appendTo(element.parent("td").next("td"));

        },

可将常用的验证方法收集好,写成一个js文件,一般写在 additional-methods.js 文件中,方便以后自己代码调用。未完待续。。。

JQuery.Validate学习笔记的更多相关文章

  1. jQuery源代码学习笔记_工具函数_noop/error/now/trim

    jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...

  2. jQuery 基础学习笔记总结(一)

    Jquery 学习笔记 总结 感想: 此前在做站点时用到过jquery相关,特别是Ajax相关技术.但是并没有系统的进行学习和了解Jquery的强大的功能,趁这几天跟着资料基本的了解下Jquery的特 ...

  3. jquery validate学习心得

    据说,javascript最初的由来就是为了解决表单的验证问题,当然现在的js已经能够用来做各种各样炫酷的效果,不过表单验证一直以来都是js很重要的一个用途(在博客园第一篇博客,不知道说些什么开头~~ ...

  4. jQuery的学习笔记4

    JQuery学习笔记3 2.9属性选择器 属性选择器就是根据元素的属性和属性值作为过滤条件,来匹配对应的DOM元素.属性选择器一般都以中括号作为起止分界符 它的形式如下: [attribute] [a ...

  5. jQuery的学习笔记2

    jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 ...

  6. jQuery的学习笔记

    JQuery学习笔记 Chapter one初识jQuery 1.2测试jQuery 在jQuery库中,$是jQuery的别名,如:$()相当于jQuery() 注意:在使用JQuery进行开发的时 ...

  7. jquery validate使用笔记

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  8. Jquery Mobile 学习笔记(一)

    1.模拟器,IOS:XCODE GENYMOTION  ANDROID:ECLIPSE GENYMOTION 2.jquery mobile data-role=page 代表一个页面 data-po ...

  9. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.4.Tabs控件

    之前,我们已经介绍了 jQuery UI 库,CSS 框架.下面,我们将学习这些有增强可视化效果,高度可配置的用户交互组件. Tab 的特性是,点击 tab 后,会高亮该 tab,并显示他的关联con ...

随机推荐

  1. getparameter()和getattribution()的区别的 java详细

    两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribut ...

  2. PrintWriter类

    PrintWriter是一种过滤流,也是一种处理流,即能对字节流和字符流进行处理. 1.查询API后,我们发现,会有八种构造方法.即: PrintWriter(File file) Creates a ...

  3. iBeacon的第一篇(基于Swift实现)

    低功耗蓝牙技术现在几乎是只能手机的标配.随着这一技术的发展,苹果在2013年WWDC大会上,苹果推出iBeacon技术.该技术允许开发人员开发能够使用iBeacon硬件传感器的iOS应用程序,来为相应 ...

  4. css基础 引用方式 标签选择器 优先级 各式布局

    今天讲的css基础,了解了css即层叠式表,是美化网页,控制页面的样式. 样式表引进网页的3种方式1内联式,语法例子:<div style="width: 100px;height: ...

  5. iOS设计模式之单例

    单例模式的意思就是这个类只有一个实例,这个类就是单例类.在iOS中有不少都是单例NSNull,NSFileManager ,UIApplication,NSUserDefaults ,UIDevice ...

  6. route -A inet6 增加下一跳 提示错误 SIOCADDRT: No route to host

    1.增加前路由表: 2. route -A inet6 增加下一跳 提示错误 SIOCADDRT: No route to host 3.删除已有的下一条路由表项: 4.再次尝试 route -A i ...

  7. Sweetkang 的机器学习实验室 (1)

    前言 近年来,Machine Learning 在许多领域上已然取得了可喜的成就,非常火热.就我个人来讲,有意将业余 Sport Programming 的范围扩展一下,譬如 Topcoder Mar ...

  8. Java 实现 WC.exe

    Github:https://github.com/YJOED/Code/tree/master/WC/src 一.题目:实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他 ...

  9. .net 任务(Task)

    1. Task (任务): 很容易调用 ThreadPool.QueueUserWorkItem 实现异步操作,但是这个技术有许多 .net 引入Task类型来使用任务. 如下几种方式都是实现异步的方 ...

  10. ZT 基于git的版本管理思路

    http://nvie.com/posts/a-successful-git-branching-model/ 分为5种分支: feature:功能分支,开发人员在此种分支下开发新的功能,开发完成后m ...