JQuery.Validate学习笔记

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: "请输入正确的邮箱地址(例如 [email protected])"

            },

            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 文件中,方便以后自己代码调用。未完待续。。。

时间: 2024-12-10 07:12:21

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

jQuery插件学习笔记

最近在研究jQuery插件,插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心模块增加自己的方法和额外的功能.通过这种机制,Jquery允许我们自己创建属于我们自己的插件,提高我们在开发过程中的效率. 虽然在jQuery命名空间中,我们禁止使用了大量的javaScript函数名和变量名.但是仍然不可避免某些函数或变量名将于其他jQuery插件冲突,因此我们习

jquery.extend 学习笔记

//// jquery.extend 学习笔记// jquery.extend 扩展方法设计的很巧妙,动态增加静态方法和属性 // 虽然网上资料很多,还是跟据自已的学习理解记录一下.// //定义一个Person构造函数function Person(iname,iage){ this.uname = iname; this.age = iage;} //定义原型方法Person.prototype = { showN:function(){ //调用静态方法 Person.showName(t

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

Jquery 学习笔记 总结 感想: 此前在做站点时用到过jquery相关,特别是Ajax相关技术.但是并没有系统的进行学习和了解Jquery的强大的功能,趁这几天跟着资料基本的了解下Jquery的特性和插件,感觉原来好多前端设计中感觉非常麻烦的东西.通过Jquery的函数和插件都非常easy的实现了而且效果极佳.这里仅仅是简单的介绍下Jquery有哪些知识点. 1.基础选择器 (1). $("button").attr("disabled","true&

jQuery的学习笔记2

jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 通配选择器 语法结构:jQuery(“*”) 例如下列代码就是匹配body里面的所有的元素 <script type="text/javascript"> $(function() { $("*").css("color","r

jQuery的学习笔记

JQuery学习笔记 Chapter one初识jQuery 1.2测试jQuery 在jQuery库中,$是jQuery的别名,如:$()相当于jQuery() 注意:在使用JQuery进行开发的时候如果在做所有事情之前,希望jQuery操作DOM文档,就必须保证在DOM载入完毕后开始执行,应该使用ready事件作为处理HTML文档的开始. 1.4JQuery的核心功能 1.对外接口单一让使用更简单 2.链式语法让编码更加的快速和优雅 3.模仿CSS选择器让选取元素更加的精确的灵活 4.拓展接

jquery validate学习心得

据说,javascript最初的由来就是为了解决表单的验证问题,当然现在的js已经能够用来做各种各样炫酷的效果,不过表单验证一直以来都是js很重要的一个用途(在博客园第一篇博客,不知道说些什么开头~~). 最近刚刚接触到了一个简答易用的表单验证插件jquery validation,下面来分享下这几天收集到的一些资料与学习心得. 一个优秀的表单验证插件:      作为受众多web开发者追捧的validation,它理应拥有如下各种优点: 1.内置验证规则:拥有必填,url,数字,email等1

jQuery的学习笔记4

JQuery学习笔记3 2.9属性选择器 属性选择器就是根据元素的属性和属性值作为过滤条件,来匹配对应的DOM元素.属性选择器一般都以中括号作为起止分界符 它的形式如下: [attribute] [attribute=value] [attribute!=value] [attribute^=value]作用:匹配给定的属性是以某些值开始的元素 [attribute*=value]作用:匹配给定的属性是以包含某些值的元素 [attribute$=value]作用:匹配给定的属性是以某些值结束的元

jquery validate使用笔记

1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮助提醒 对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的

Jquery 插件学习笔记

Jquery 插件 1表单验证插件--validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({options}) 其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo