【精品】前端验证框架:jquery-validate.js

简介

jquery.validate.js是我们经常用到的form表单验证插件,可以很方便的帮我们进行表单验证。

官网:https://bassistance.de/jquery-plugins/jquery-plugin-validation

校验规则

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

使用步骤

  1. 引入jquery.min.js
  2. 引入 jquery.validate.js
  3. 页面加载后对表单进行验证 $(“#表单id名”).validate({})
  4. 在validate中的rules中编写验证规则,比如:
    • 字段的name属性:"校验器:(一个输入框只有一个校验器的时候使用)
    • 字段的name属性:{校验器:值,校验器:值} (输入框需要有多个校验器的时候使用)
  5. 在validate中的messages中编写提示信息(格式与rules相对应)
  6. 在validate中的submitHandler中编写验证通过执行的内容
  7. 表单使用input type="submit"提交

使用

将校验规则写到控件中

<script src="js/jquery-validate/jquery.js"></script>
<script src="js/jquery-validate/jquery.validate.js"></script>
<script src="js/jquery-validate/messages_zh.js"></script>

<form action="admin" method="post" id="loginForm">
    <input type="text" name="account" required minlength="4"> <br>
    <input type="password" name="password" required minlength="4"> <br>
    <input type="submit" value="登录">
</form>

<script type="text/javascript">
	$(function (){
	    $("#loginForm").validate();
	});
</script>

将校验规则写到js代码中

<script src="js/jquery-validate/jquery.validate.js"></script>
<script src="js/jquery-validate/jquery.validate.js"></script>
<script src="js/jquery-validate/messages_zh.js"></script>

<form action="user" method="post" enctype="multipart/form-data" id="userAddForm">
    姓名:<input name="nickname" type="text"> <br>
    用户头像:<input type="file" name="avatar"><br>
    性别:<input checked="checked" name="gender" type="radio" value="1"><input name="gender" type="radio" value="0"><br>
    邮件:<input id="email" name="email" type="text"> <br>
    电话:<input id="tel" name="tel" type="text">
    QQ:<input name="qq" type="text"> <br>
    微信:<input name="wechat" type="text"> <br>
    积分:<input name="credits" type="text"> <br>
    简介:<input name="intro" type="text"> <br>
    验证码:<input name="verifyCode" type="text">
    <img alt="验证码" onClick="this.src=this.src+'?'+Math.random();" src="verifyCode"><br>
    <input id="submitBtn" type="submit" value="提交">
</form>

<script>
    $(function () {
        $("#userAddForm").validate({
            rules: {
                nickname: {
                    required: true,
                    minLength: 4
                },
                avatar: "required",
                email: {
                    required: true,
                    email: true
                },
                QQ: {
                    required: true,
                    minLength: 5
                },
                wechat: "required",
                credits: {
                    required: true,
                    digits: true
                },
                verifyCode:"required"
            },messages:{
                nickname: "请输入用户名",
                avatar:"请选择头像",
                email:"邮箱必须正确填写",
                QQ:"QQ不能为空且长度必须大于等于5",
                wechat: "微信不能为空",
                credits: "积分不能为空且必须为整数",
                verifyCode: "验证码不能为空",
            }
        })
    });
</script>

:如果某个控件没有message,将调用默认的信息

示例:自定义提示信息,错误提示位置以及颜色

页面代码

<html>
<body>
    <form id="loginForm" method="post" action="">
        <h2>会员登录</h2>
        <h3>用户名</h3>
        <input class="name" id="account" name="account" type="text" required minLength="6"/>
        <div style="color: red;">
            <label for="account" class="error"></label>
        </div>
        <h3>密码</h3>
        <input class="pwd" id="password" name="password" type="password"  required minLength="6"/>
        <div style="color: red;">
            <label for="password" class="error"></label>
        </div>
        <div class="zhuangtai">
            <input checked="checked" type="checkbox"/> 下次自动登录
        </div>
        <div class="subs">
            <input class="submit" src="http://127.0.0.1:9005/wego-simple/sys/frontend/sub.jpg" type="image"/>
        </div>
    </form>
    
	<script type="text/javascript" src="/frontend/js/jquery"></script>
	<script type="text/javascript" src="/frontend/js/jquery.validate.js"></script>
	<script type="text/javascript">
	    $(function () {
	        $("#loginForm").validate({
	            messages: {
	                account: "用户名不能小于六位,请重新输入!",
	                password: "密码不能小于六位,请重新输入!",
	            }
	        })
	    });
	</script>
</body>
</html>

效果

在这里插入图片描述

综合示例

<html lang="en">
<head>
    <meta charset="utf-8">
    <script src="./jquery-3.1.1.js"></script>
    <script src="./jquery.validate.js"></script>
</head>
<body>
<div id="main">
    <form class="cmxform" id="signupForm" method="get" action="">
        <p>
            <label for="name">用户名</label>
            <input id="name" name="name" type="text">
        </p>
        <p>
            <label for="password">密码</label>
            <input id="password" name="password" type="password">
        </p>
        <p>
            <label for="confirm_password">确认密码</label>
            <input id="confirm_password" name="confirm_password" type="password">
        </p>
        <p>
            <label for="email">邮箱</label>
            <input id="email" name="email" type="email">
        </p>
        <p>
            <label for="agree">协议</label>
            <input type="checkbox" class="checkbox" id="agree" name="agree">
        </p>
        <p>
            <input class="submit" type="submit" value="Submit">
        </p>
    </form>
    <script>
        $(function () {
            $("#signupForm").validate({
                rules: {
                    name: "required",
                    password: {
                        required: true,
                        minlength: 5
                    },
                    confirm_password: {
                        required: true,
                        minlength: 5,
                        equalTo: "#password"
                    },
                    email: {
                        required: true,
                        email: true
                    },
                    agree: "required"
                },
                messages: {
                    name: "请输入名字",
                    password: {
                        required: "请输入密码",
                        minlength: "密码至少5个字符"
                    },
                    confirm_password: {
                        required: "请输入密码",
                        minlength: "密码至少5个字符",
                        equalTo: "密码必须和上面的一致"
                    },
                    email: "请输入有效的邮件地址",
                    agree: "请接受协议"
                }
            });
        });
    </script>
</div>
</body>
</html>

效果
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁云亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值