zoukankan      html  css  js  c++  java
  • 【积累】在jQuery.Validate额中使用可以传入参数的message

    这几天在学习使用一个jQuery的验证插件:jQuery.Validate 。这个插件很好用也很灵活,但是对message处理这块刚开始很不适应,因为我们以前做项目时都是使用一个共同的message模板,然后传入参数来达到message复用的目的。

    之前在网上的例子中一般都是一个验证对象对应一个message,比如:

    代码
    $('#submitForm').validate({   
        
    /* 设置验证规则 */  
        rules: {   
            username: {   
                required:
    true,
            },   
            phone:{   
                required:
    true,
            } 
        },
        
    /* 设置错误信息 */  
        messages: {   
            username: {       
                required: 
    "请输入您的用户名"  
            },
            phone:{   
                required: 
    "请输入您的联系电话"
            }
        }  
    });   


     对于这种必须输入check的message而言只是控件名称不一样而已,每次都需要重复定义很麻烦。可以简化为:

    代码
    $('#submitForm').validate({   
        
    /* 设置验证规则 */  
        rules: {   
            username: {   
                required:[
    true,'用户名']
            },   
            phone:{   
                required:[
    true,'联系电话']
            } 
        },
        
    /* 设置错误信息 */  
        messages: {   
            required: 
    "请输入您的{1}"
        }  
    });    


    其中 {1} 表示参数数组中的第二个参数(第一个参数是那个true,呵呵), {1} 也可以写成 ${1}

    解释一下:

    required:[true,'用户名']   // 相当于声明使用required验证规则,并且传入了一个参数数组, 第一个参数是true,第二个参数是'用户名'

    messages: {   
            required: "请输入您的{1}"  // 设置了验证失败时显示的Message, {1}代表使用传入的第二个参数显示。
        }

    这样只用定义一次message,以后传不同的参数进去就行了。多个参数时也是一样的,定义验证规则的时候给参数数组中添加多项,然后定义message时 通过{N}来指定替换参数列表中的第几个参数。(数组下标从0开始,所以N要比实际顺序小1位)

    自己看了插件代码明白可以这样用之后记录下来,希望能帮到跟我有同样问题的朋友。

  • 相关阅读:
    50个网页常用小代码
    web前端题目(持续更新)
    一步步构建大型网站架构(转)
    CentOS下配置node.js
    ajax文件上传
    test
    文件上传input简便美化方案
    String.match()与RegExp.exec()
    ie7下zindex问题
    javascript将数组插入到另一个数组中
  • 原文地址:https://www.cnblogs.com/zhualike/p/1736796.html
Copyright © 2011-2022 走看看