学习笔记之$.validate的运用以及form表单提交使用

2023-11-20

使用jquery自带的表单验证功能,需要先引入validator.js 和 jquery.js
下面有validator的属性和方法,代码里面我做了详细的注释。
这个版本的是正常的form表单提交的,下一个记录的是ajax的提交

html部分

    <form id="testForm" action="http://localhost:8083/hhh" method="POST">
        姓名1<input type="text" name="sname" /> </br>
        姓名2<input type="text" name="bname" /></br>
        姓名3<input type="text" name="cname" class="class_cname" />
        </br>
        <input type="submit">
        <!-- 此处的ajax提交是做ajax提交的按钮,form表单请忽略下面按钮 -->
        <button id="ajaxbtn">ajax提交</button>
    </form>

js

<script src="./jquery.js"></script>
<script src="./validator.js"></script>
<script>
    $("#testForm").validate({
        onkeyup: null, //失去焦点,进行验证
        ignore: ":hidden, .ignore", //忽略验证的元素
        wrapper: 'ul', //包裹错误标签的容器
        errorElement: "li", //错误的标签名字
        // debug: true, //测试专用属性,可以放置表单跳转
        rules: { //配置验证规则,key就是被验证的dom对象,value就是调用验证的方法(也是json格式)
            sname: { //这里的sname 指的是上面标签的name属性
                required: true, //必填。如果验证方法不需要参数,则配置为true
                mobile: true //这里是自定义的验证规则,true标签开始匹配

            },
            bname: {
                required: true,
                mobile: true
            }
        },
        messages: { // 验证失败的提示信息
            sname: { //这里的sname 指的是上面标签的name属性
                required: "专属于A的必选值" //自定义required的错误信息内容
            },
            cname: {
                mobile: "专属于3的手机验证"
            }
        },
        errorPlacement: function(error, element) { // 验证失败调用的函数
            error.addClass("error_tip"); // 提示信息增加样式

            if (element.prop("type") === "checkbox") {
                error.insertAfter(element.parent("label")); // 待验证的元素如果是checkbox,错误提示放到label中
            } else {
                error.insertAfter(element);
            }
        }
    })
    
    //可以以extend的形式进行也,也可以通过message的形式进行更改错误信息的内容
    //这里的层级没有上面,messages的层级高,即  messages层级 > $.extend层级 > addClassRules层级
    $.extend($.validator.messages, {
        required: "我可以在a和b和c里面验证必选值",
        remote: "请修正该字段",
        email: "请输入正确格式的电子邮件",
        url: "请输入合法的网址",
        date: "请输入合法的日期",
        minlength: "最小长度为2",
    });

    //通过添加类名的方式增加条件验证信息
    jQuery.validator.addClassRules({
        class_cname: {
            required: true,
            mobile: true
        }
    });

    //自定义验证的规则,这个得"mobile",指得是上面rule得规则,
    $.validator.addMethod("mobile", function(value, element, param) {
        var reg = /^1[34578]\d{9}$/; //正则表达式验证
        return reg.test(value);
    }, "请输入正确的手机号");

     // form表单提交的方式
    $('#testForm').submit(function() {
        // 验证form表单是否通过验证,如果通过这位ture 否则,终止代码执行
        var flag = $('#testForm').valid();
        console.log(flag);
        if (!flag) {
            console.log('表单验证失败')
            return
        } else {
            console.log('表单验证成功')
        }
    })
    
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习笔记之$.validate的运用以及form表单提交使用 的相关文章

随机推荐