jQuery Validate插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API,所有的捆绑方法默认使用英语作为错误信息。
当前最新版本是1.17.0,可以官网下载该插件。插件依赖于jQuery,需要先导入。
官网:https://jqueryvalidation.org/
导入js
<script type="text/javascript" src="xxx/jquery.min.js"></script> <script type="text/javascript" src="xxx/jquery.validate.min.js"></script> <!-- 需要中文提示则导入messages_zh.js --> <script type="text/javascript" src="xxx/messages_zh.js"></script>
使用方式:
1.HTML中直接使用
(1)HTML页面
<form id="registForm" action="success.html" method="get"> <fieldset> <legend>用户注册</legend> <p> <label for="username">用户名</label> <input type="text" id="username" name="username" required> </p> <p> <label for="password">密码</label> <input type="password" id="password" name="password" required minlength="6"> </p> <p> <label for="repassword">确认密码</label> <input type="password" name="repassword" equalTo="#password"> </p> <p> <label for="email">邮箱</label> <input type="email" id="email" name="email" required> </p> <p> <label for="selfIntroduction">个人介绍</label> <textarea id="Self-selfIntroduction" name="selfIntroduction" required></textarea> </p> <p> <input type="submit" value="注册"> </p> </fieldset> </form>
(2)校验JS
<script type="text/javascript"> $(function() { $.validator.setDefaults({ submitHandler: function(form) { // 表单提交 } }); $("#registForm").validate(); }); </script>
2.js中校验
(1)HTML页面
<form id="registForm" action="success.html" method="get"> <fieldset> <legend>用户注册</legend> <p> <label for="username">用户名:</label> <input type="text" class="form-control" id="username" name="username"> </p> <p> <label for="password1">密码:</label> <input type="password" class="form-control" id="password" name="password"> </p> <p> <label for="repassword">确认密码:</label> <input type="password" class="form-control" id="repassword" name="repassword"> </p> <p> <label for="hobby">爱好:</label> <input type="checkbox" class="form-control" value="swim" name="hobby">游泳 <input type="checkbox" class="form-control" value="game" name="hobby">游戏 </p> <p> <label for="email">性别:</label> <input type="radio" class="form-control" value="male" name="gender">男 <input type="radio" class="form-control" value="female" name="gender">女 </p> <p> <input type="submit" class="form-control" value="注册"> </p> </fieldset> </form>
(2).校验js
$(function() { // 表单提交的操作 $.validator.setDefaults({ submitHandler: function(form) { // 表单提交 } }); // 校验规则与自定义提示,自定义提示不写时使用默认提示内容 $("#registForm").validate({ rules: { username: { required: true }, password: { required: true, minlength: 5 }, repassword: { required: true, equalTo: "#password" }, hobby: { required: true }, gender: { required: true } }, messages: { username: { required: "用户不能为空" }, password: { required: "密码不能为空", minlength: "密码长度不能低于5位" }, repassword: { required: "确认不能为空", equalTo: "两次密码不一样" }, hobby: { required: "爱好至选择一个" }, gender: { required: "性别不能为空" }, }, // 自定义错误提示位置,默认直接在校验元素后面 errorPlacement: function(error, element) { if (element.prop("type") == "checkbox" || element.prop("type") == "radio") { element.parent().append(error); } else { element.after(error); } }, });
参考菜鸟教程: http://www.runoob.com/jquery/jquery-plugin-validate.html