jQuery.validate 初始化api

html结构


<form action="" id="formId">
    <div class="mb20">
        <input type="" name="inputName" id="inputId"></div>
    <div class="mb20">
        <select name="selectName" id="selectId">
            <option value="">All</option>
            <option value="1">1</option>
            <option value="2">2</option>
        </select>
    </div>
    <div class="mb20">
        <label for="checkboxName">
            <input type="checkbox" name="checkboxName" id="checkboxId">单选框</label>
    </div>
    <div class="mb20">
        <input type="text" name="groupName1" id="groupName1">
        <input type="text" name="groupName2" id="groupName2"></div>
    <div class="mb20">
        <button type="button" class="btn formSubmit">提交</button>
    </div>
</form>


js jQuery.validate构建

require(['jquery', 'validation'], function($) {

    var formValid = $('#formId').validate({

        // 指定错误提示的css类名,可以自定义错误提示的样式
        errorClass: "error-explain",

        // 指定成功提示的css类名,可以自定义错误提示的样式
        validClass: "valid-explain",

        // 指定成功提示的css类名,可以自定义错误提示的样式
        success: "valid-success",

        // 使用什么标签标记错误
        errorElement: "div",

        // 使用什么标签errorELement包起来
        wrapper: "div",

        // 对某些元素不进行验证
        ignore: ":hidden",

        // 是否提交时验证
        onsubmit: true,

        // 是否在获得焦点时验证
        onfocusin: true,

        // 是否在获取焦点时验证
        onfocusout: true,

        // 是否在敲击键盘时验证
        onkeyup: true,

        // 是否在鼠标点击时验证
        onclick: true,

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

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

        // 对一组元素的验证,用一个错误提示
        groups: {
            group1: 'groupName1 groupName2'
        },

        // 自定义错误放到哪里
        errorPlacement: function(error, element) {
            // 同个父集
            error.appendTo(element.parent());
        },

        rules: {
            inputName: {
                required: true
            },
            selectName: {
                required: true
            },
            checkboxName: {
                required: true
            },
            groupName1: {
                required: true
            },
            groupName2: {
                required: true
            },
            testName: {
                required: true,
                remote: {
                    // 后台处理程序
                    url: "check-email.php",
                    // 数据发送方式
                    type: "post",
                    // 接受数据格式
                    dataType: "json",
                    // 要传递的数据
                    // 远程地址只能输出 "true" 或 "false"  
                    data: {
                        testName: function() {
                            return $("#testName").val();
                        }
                    }
                },
                email: true,
                url: true,
                date: true,
                dateISO: true,
                number: true,
                digits: true,
                creditcard: true,
                equalTo: "#testName",
                maxlength: 10,
                minlength: 1,
                rangelength: [1, 10],
                range: [1, 10],
                max: 1,
                min: 10,
                remoteMsg: {
                    url: '/commonapi/check/checkSensitiveWords.cf'
                }
            }
        },
        messages: {
            inputName: {
                required: '必填项'
            },
            selectName: {
                required: '必填项'
            },
            checkboxName: {
                required: '必填项'
            },
            groupName1: {
                required: '必填项'
            },
            groupName2: {
                required: '必填项'
            },
            testName: {
                required: "必须填写",
                remote: "请修正此栏位",
                email: "请输入有效的电子邮件",
                url: "请输入有效的网址",
                date: "请输入有效的日期",
                dateISO: "请输入有效的日期 (YYYY-MM-DD)",
                number: "请输入正确的数字",
                digits: "只可输入数字",
                creditcard: "请输入有效的信用卡号码",
                equalTo: "你的输入不相同",
                extension: "请输入有效的后缀",
                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} 的数值"),
                remoteMsg: '不能存在[0]'
            }
        }
    })

    $('.formSubmit').click(function(event) {
        // 把前面验证的FORM恢复到验证前原来的状态(即清楚错误状态)
        formValid.resetForm();

        console.log(formValid.form());
        console.log(formValid);
        console.log(formValid.invalid);
        console.log(formValid.successList);
        console.log(formValid.errorList);

        // 触发单个输入验证
        $('input[name="inputName"]').valid();
    });

})



官方 api https://jqueryvalidation.org/
runoob api http://www.runoob.com/jquery/jquery-plugin-validate.html
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容

  • 前些日子从@张鑫旭微博处得一份推荐(Front-end-tutorial),号称最全的资源教程-前端涉及的所有知识...
    谷子多阅读 4,159评论 0 44
  • 今天我想变变画风,忏悔一下自己作为一枚伪文学青年是多么的失败。 1. 这20年,我写过文字无数,却没写出过什么可以...
    朴朴纳蓝阅读 635评论 31 15
  • 蛇的信子,酒的喷泉 缠绕是一种声嘶力竭的美 在一个纪念诗人的日子里抵达 海子,海子 北方奔跑的麦子 南太平洋上坐着...
    忧伤没有伤口阅读 157评论 0 2
  • 今天,我开通个人公众号平台了! 去年的差不多这个时候,突然心血来潮报了个线上写作课的培训,自那时便开始了这一年来断...
    女人阁下阅读 292评论 0 0
  • 我是谁?当我看到这个主题,我首先想到了我的名字、是某某的妻子、妈妈、女儿、是什么工作者等等这样的社会化标签。这些标...
    晓行之阅读 662评论 0 47