知识 分享 互助 懒人建站

    懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

    懒人建站提供网页素材下载、网站模板
    知识 分享 互助!

    jquery validate强大的jquery表单验证插件

    作者:佳明妈 来源:jquery特效 2014-10-21 人气:
    为什么要用jquery validate这个表单验证插件:自己写一个通用没有bug强大的jquery表单验证插件并不容易。jquery validate这个jquery插件几乎可以轻松应对95%以上的表单验证, jquery validate表单验

    jquery validate的官方演示和文档地址:

    为什么要用jquery validate这个表单验证插件:

    form表单验证是网站建设中前端必须要做的事情,自己写一个通用没有bug强大的jquery表单验证插件并不容易,特别对新手和建站爱好者,有一个通用好用的表单验证插件式必须的。

    jquery validate这个jquery插件几乎可以轻松应对95%以上的表单验证,

    jquery validate表单验证如何调用?

    一。引用jquery.min.js和jquery.validate.js

    因为jquery.validate.js是jquery插件所以必须要有jquery支持,现在没有使用jquery的网站应该很少。如果你坚持不用jquery,很遗憾这个jquery.validate.js不适合你。

    二、js调用代码如下:

    $(function(){
    	//$('.js-form') 是你的表单的类名或者 id,如果是id的话就是 $('#js-form')
        //submitHandler 就是表单验证通过的时候执行里面的函数
    	$('.js-form').validate({ 		
    		submitHandler: function (form) {
                var $form = $(form),
                    data = $form.serialize();     //序列化表单数据
                //这里是jquery表单验证通过的时候执行的操作,比如这里,表单验证通过的时候执行了jquery的ajax的post操作      
                $.post('js/test.json',{data:data},function(d){
                    if(d.Flag){
                        alert("如果返回为真,将执行这里代码")               
                    }else{
    
                    }
                },'json');
    		}
    	});
    }) 

    jquery validate默认验证规则的提示语中文化:

    $.extend($.validator.messages, {
            required: "必填",
            remote: "请修正该字段",
            email: "电子邮件格式不正确",
            url: "网址格式不正确",
            date: "日期格式不正确",
            dateISO: "请输入合法的日期 (ISO).",
            number: "请输入数字",
            digits: "只能输入整数",
            creditcard: "请输入合法的信用卡号",
            equalTo: "请再次输入相同的值",
            accept: "请输入拥有合法后缀名的字符",
            maxlength: $.validator.format("请输入一个 长度最多是 {0} 的字符"),
            minlength: $.validator.format("请输入一个 长度最少是 {0} 的字符"),
            rangelength: $.validator.format("请输入 一个长度介于 {0} 和 {1} 之间的字符"),
            range: $.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),
            max: $.validator.format("请输入一个最大为{0} 的值"),
            min: $.validator.format("请输入一个最小为{0} 的值")
        });
    

    validate默认的验证规则中文解释:

    (1)required:true 必输字段
    (2)remote:”check.php” 使用ajax方法调用check.php验证输入值
    (3)email:true 必须输入正确格式的电子邮件
    (4)url:true 必须输入正确格式的网址
    (5)date:true 必须输入正确格式的日期
    (6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
    (7)number:true 必须输入合法的数字(负数,小数)
    (8)digits:true 必须输入整数
    (9)creditcard: 必须输入合法的信用卡号
    (10)equalTo:”#field” 输入值必须和#field相同
    (11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀)
    (12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符)
    (13)minlength:10 输入长度最小是10的字符串(汉字算一个字符)
    (14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串”)(汉字算一个字符)
    (15)range:[5,10] 输入值必须介于 5 和 10 之间
    (16)max:5 输入值不能大于5
    (17)min:10 输入值不能小于10

    自定义validate表单验证规则:

    addMethod(name,method,message)方法:
    参数name 是添加的方法的名字
    参数method是一个函数,接收三个参数(value,element,param) value 是元素的值,element是元素本身 param是参数
    以邮箱验证规则为例:
    jQuery.validator.addMethod("mail", function (value, element) {
    	var mail = /^[a-z0-9._%-]+@([a-z0-9-]+.)+[a-z]{2,4}$/;
    	return this.optional(element) || (mail.test(value));
    }, "邮箱格式不对");

    再多的文字说明都不如看演示来的直接,jquery validate表单验证演示

    懒人建站http://www.51xuediannao.com/整理)

    jquery validate中文API,仅供参考:(这个中文API有点老了,但是大部分依然适用)

    名称

    返回类型

    描述

    validate(options)

    返回:Validator

    验证所选的FORM

    valid()

    返回:Boolean

    检查是否验证通过

    rules()

    返回:Options

    返回元素的验证规则

    rules("add",rules)

    返回:Options

    增加验证规则

    rules("remove",rules)

    返回:Options

    删除验证规则

    removeAttrs(attributes)

    返回:Options

    删除特殊属性并且返回他们

    Custom selectors

    :blank

    返回:Validator

    没有值的筛选器

    :filled

    返回:Array <Element >

    有值的筛选器

    :unchecked

    返回:Array <Element >

    没选择的元素的筛选器

    Utilities

    jQuery.format

    (template,argument ,argumentN...)

    返回:String

    用参数代替模板中的 {n}

    Validator:

    validate方法返回一个Validator对象,它有很多方法, 让你能使用引发校验程序或者改变form的内容. validator对象有很多方法,但下面只是列出常用的

    form()

    返回:Boolean

    验证form返回成功还是失败

    element(element)

    返回:Boolean

    验证单个元素是成功还是失败

    resetForm()

    返回:undefined

    把前面验证的FORM恢复到验证前原来的状态

    showErrors(errors)

    返回:undefined

    显示特定的错误信息

     

    Validator functions:

    setDefaults(defaults)

    返回:undefined

    改变默认的设置

    addMethod(name,method,message)

    返回:undefined

    添加一个新的验证方法. 必须包括一个独一无二的名字,一个JAVASCRIPT的方法和一个默认的信息

    addClassRules(name,rules)

    返回:undefined

    增加组合验证类型 在一个类里面用多种验证方法里比较有用

    addClassRules(rules)

    返回:undefined

    增加组合验证类型 在一个类里面用多种验证方法里比较有用,这个是一下子加多个

    内置验证方式:

    required()

    返回:Boolean

    必填验证元素

    required(dependency-expression)

    返回:Boolean

    必填元素依赖于表达式的结果

    required(dependency-callback)

    返回:Boolean

    必填元素依赖于回调函数的结果

    remote(url)

    返回:Boolean

    请求远程校验。url通常是一个远程调用方法

    minlength(length)

    返回:Boolean

    设置最小长度

    maxlength(length)

    返回:Boolean

    设置最大长度

    rangelength(range)

    返回:Boolean

    设置一个长度范围[min,max]

    min(value)

    返回:Boolean

    设置最大值

    max(value)

    返回:Boolean

    设置最小值

    email()

    返回:Boolean

    验证电子邮箱格式

    range(range)

    返回:Boolean

    设置值的范围

    url()

    返回:Boolean

    验证URL格式

    date()

    返回:Boolean

    验证日期格式(类似30/30/2008的格式,不验证日期准确性只验证格式)

    dateISO()

    返回:Boolean

    验证ISO类型的日期格式

    dateDE()

    返回:Boolean

    验证德式的日期格式(29.04.1994 or 1.1.2006)

    number()

    返回:Boolean

    验证十进制数字(包括小数的)

    digits()

    返回:Boolean

    验证整数

    creditcard()

    返回:Boolean

    验证信用卡号

    accept(extension)

    返回:Boolean

    验证相同后缀名的字符串

    equalTo(other)

    返回:Boolean

    验证两个输入框的内容是否相同

    phoneUS()

    返回:Boolean

    验证美式的电话号码

    validate ()的可选项:

    debug:进行调试模式(表单不提交):

    $(".selector").validate

    ({

       debug:true

    })

    把调试设置为默认:

    $.validator.setDefaults({

       debug:true

    })

    submitHandler:

    通过验证后运行的函数,里面要加上表单提交的函数,否则表单不会提交

    $(".selector").validate({

       submitHandler:function(form) {

    $(form).ajaxSubmit();

       }

    })

    ignore:

    对某些元素不进行验证

    $("#myform").validate({

       ignore:".ignore"

    })

    rules:

    自定义规则,key:value的形式,key是要验证的元素,value可以是字符串或对象

    $(".selector").validate({

       rules:{

         name:"required",

         email:{

           required:true,

           email:true

         }

       }

    })

    messages:

    自定义的提示信息key:value的形式key是要验证的元素,值是字符串或函数

    $(".selector").validate({

       rules:{

         name:"required",

         email:{

           required:true,

           email:true

         }

       },

       messages:{

         name:"Name不能为空",

         email:{

           required:"E-mail不能为空",

           email:"E-mail地址不正确"

         }

       }

    })

    groups:

    对一组元素的验证,用一个错误提示,用error Placement控制把出错信息放在哪里

    $("#myform").validate({

      groups:{

        username:"fname lname"

      },

      errorPlacement:function(error,element) {

         if (element.attr("name") == "fname" || element.attr("name") == "lname")

           error.insertAfter("#lastname");

         else

           error.insertAfter(element);

       },

       debug:true

    })

    Onubmit Boolean 默认:true

    是否提交时验证

    $(".selector").validate({

       onsubmit:false

    })

    onfocusout Boolean 默认:true 

    是否在获取焦点时验证

    $(".selector").validate({

       onfocusout:false

    })

    onkeyup Boolean 默认:true 

    是否在敲击键盘时验证

    $(".selector").validate({

       onkeyup:false

    })

    onclick Boolean 默认:true

    是否在鼠标点击时验证(一般验证checkbox,radiobox)

    $(".selector").validate({

       onclick:false

    })

    focusInvalid Boolean 默认:true

    提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点

    $(".selector").validate({

       focusInvalid:false

    })

    focusCleanup Boolean 默认:false

    当未通过验证的元素获得焦点时,并移除错误提示(避免和 focusInvalid.一起使用)

    $(".selector").validate({

       focusCleanup:true

    })

    errorClass String默认:"error"

    指定错误提示的css类名,可以自定义错误提示的样式

    $(".selector").validate({

       errorClass:"invalid"

    })

    errorElement String 默认:"label"

    使用什么标签标记错误

    $(".selector").validate

       errorElement:"em"

    })

    wrapper String

    使用什么标签再把上边的errorELement包起来

    $(".selector").validate({

       wrapper:"li"

    })

    errorLabelContainer Selector

    把错误信息统一放在一个容器里面

    $("#myform").validate({

       errorLabelContainer:"#messageBox",

       wrapper:"li",

       submitHandler:function() { alert("Submitted!") }

    })

    showErrors:

    跟一个函数,可以显示总共有多少个未通过验证的元素

    $(".selector").validate({

       showErrors:function(errorMap,errorList) {

            $("#summary").html("Your form contains " + this.numberOfInvalids() + " errors,see details below.");

            this.defaultShowErrors();

       }

    })

    errorPlacement:

    跟一个函数,可以自定义错误放到哪里

    $("#myform").validate({

      rrorPlacement:function(error,element) {  error.appendTo(element.parent("td").next("td"));

       },

       debug:true

    })

    success:

    要验证的元素通过验证后的动作,如果跟一个字符串,会当做一个css类,也可跟一个函数

    $("#myform").validate({

            success:"valid",

            submitHandler:function() { alert("Submitted!") }

    })

    highlight:

    可以给未通过验证的元素加效果,闪烁等

     

    addMethod(name,method,message)方法:

    参数name是添加的方法的名字

    参数method是一个函数,接收三个参数(value,element,param) value是元素的值,element是元素本身 param是参数,我们可以用addMethod来添加除built-in Validation methods之外的验证方法 比如有一个字段,只能输一个字母,范围是a-f,写法如下:

    $.validator.addMethod("af",function(value,element,params){

       if(value.length>1){

        return false;

       }

       if(value>=params[0] && value<=params[1]){

        return true;

       }else{

        return false;

       }

    },"必须是一个字母,且a-f");

    用的时候,比如有个表单字段的id="username",则在rules中写

    username:{

       af:["a","f"]

    }

    addMethod的第一个参数,就是添加的验证方法的名子,这时是af

    addMethod的第三个参数,就是自定义的错误提示,这里的提示为:"必须是一个字母,且a-f"

    addMethod的第二个参数,是一个函数,这个比较重要,决定了用这个验证方法时的写法

    如果只有一个参数,直接写,如果af:"a",那么a就是这个唯一的参数,如果多个参数,用在[]里,用逗号分开

    meta String方式:

    $("#myform").validate({

       meta:"validate",

       submitHandler:function() { alert("Submitted!") }

    })

    <script type="text/javascript" src="js/jquery.metadata.js"></script>

    <script type="text/javascript" src="js/jquery.validate.js"></script>

    <form id="myform">

      <input type="text" name="email" class="{validate:{ required:true,email:true }}" />

      <input type="submit" value="Submit" />

    </form>


    ↓ 查看全文

    jquery validate强大的jquery表单验证插件由懒人建站收集整理,您可以自由传播,请主动带上本文链接

    懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。

    jquery validate强大的jquery表单验证插件-最新评论