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. Zedboard学习(二):zedboard的Linux下交叉编译环境搭建 标签: 交叉编译linuxzedboard 2017-07-04 23:49 19人阅读

    环境准备 首先肯定是要下载xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin文件,这是官方提供的linux下交叉编译链安装文件,下载地址为:https://p ...

  2. 特征工程 vs. 特征提取

    “特征工程”这个华丽的术语,它以尽可能容易地使模型达到良好性能的方式,来确保你的预测因子被编码到模型中.例如,如果你有一个日期字段作为一个预测因子,并且它在周末与平日的响应上有着很大的不同,那么以这种 ...

  3. “hdfs dfs -ls”命令的使用

    "hdfs dfs -ls"带一个参数,如果参数以"hdfs://URI"打头表示访问HDFS,否则相当于ls. 其中URI为NameNode的IP或主机名,可 ...

  4. OpenSSH免密码登录SSH2

    SSH2免密码登录OpenSSHhttp://blog.csdn.net/aquester/article/details/23836299 两个SSH2间免密码登录http://blog.csdn. ...

  5. Android Logging

    Here is HauteLook’s logger class from our Android Code Library. It displays class name, method name ...

  6. winsock的io模型(终极篇)

    最近在看服务器框架的搭建,看了不少,都是零零碎碎的,觉得看的差不多了,可以写点最后的总结了,然后,竟然发现了这篇文章,总结做的特别好,肯定比我总结写要好多了,所以我也就不写了,直接转吧...... 套 ...

  7. WorkFlow 工作流 学习笔记

    传统ERP为制造业企业产供销人财物的管理提供了一整套优化企业资源利用,集物流.信息流.资金流为一体的现代化管理工具.但是它在过程集成和企业间集成方面存在不足.具体表现在: 1.传统ERP是一个面向功能 ...

  8. Reporting Service服务SharePoint集成模式安装配置(7、配置SharePoint2010产品)

    在第3步安装完成SharePoint2010产品后,没有选择[立即安装产品配置向导],这一小节将单独配置SharePoint2010产品数据库(管理中心). 1)启动SharePoint 2010 产 ...

  9. 爬虫--使用scrapy爬取糗事百科并在txt文件中持久化存储

    工程目录结构 spiders下的first源码 # -*- coding: utf- -*- import scrapy from firstBlood.items import Firstblood ...

  10. Split 之特殊用法

    java中split()特殊符号"." "|" "*" "\" "]"   关于点的问题是用stri ...