jQuery表单校验插件validator使用方法详解


Posted in jQuery onFebruary 18, 2020

validator插件:将jquery实现的常用操作进行封装,我们只需要学会插件的使用语法,就可以使用简单的代码实现较为复杂的功能。

validator的基本使用

1. 需要引入的文件

① jQuery类库

② 插件的js文件 官网

2.表单校验插件validator的基本语法

在rules中通过校验规则名称使用校验规则 ,在messages中定义该规则对应的错误提示信息。

<!-- 需要引入的文件 --> 
<script src="../lib/jquery.js"></script>
<script src="../dist/jquery.validate.js"></script>

<!-- 表单校验插件validator的基本语法 -->
<script>
 $("form表单的选择器").validate({
 rules:{//配置表单项校验的规则
 表单项的name:{
 校验规则名称: 规则值,
 ...
 校验规则名称: 规则值
 },
 ...,
 表单项的name:{
 校验规则名称: 规则值,
 ...
 校验规则名称: 规则值
 }
 },
 messages:{//配置对应的表单项校验失败后的错误提示信息
 表单项的name:{
 校验规则名称: "提示信息",
 ...
 校验规则名称: "提示信息"
 },
 ...,
 表单项的name:{
 校验规则名称: "提示信息",
 ...
 校验规则名称: "提示信息"
 }
 }
 });
</script>

常用的校验规则名称,规则值及使用范围:

jQuery表单校验插件validator使用方法详解

注:$(“form表单的选择器”)即表单jQuery对象。

扩展:当错误提示信息不按照我们预想的位置显示时,我们可以自定义错误显示标签放在我们需要显示的位置。

语法:

//标签写在什么地方,错误信息就显示在什么地方
<label class="error" for="表单项的name"></label>

3. 自定义校验方法

如果预定义的校验规则不能满足需求则可以进行自定义校验规则。

自定义校验语法:

$.validator.addMethod("校验规则名称",function(value, element, params){
 //value:要校验的值(校验组件的value值)
 //element:要校验的表单项标签对象
 //params:使用此规则时,配置的规则的值。(校验规则的参数)
 //如果校验通过,就返回true;否则返回false
}, "默认效验错误时的提示信息");

validator表单校验的简单示例

<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title></title>

 <style type="text/css">
 table {
 width: 30%;
 
 /* 居中 */
 /* margin: 0 auto; */
 
 /* magin:atuo配合绝对定位实现水平和垂直方向居中 */
 margin:auto;
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 
 }
 td {
 padding: 8px 2px; 
 }
 
 .error {
 color: red;
 }
 </style>
 </head>

 <body>
 <form name="empForm" id="empForm" method="get" action="#">
 <table>
 <tr>
 <td>用户名</td>
 <td><input type="text" id="username" name="username" /></td>
 </tr>
 
 <tr>
 <td>密码</td>
 <td><input type="password" id="pwd" name="pwd" /></td>
 </tr>
 
 <tr>
 <td>确认密码</td>
 <td><input type="password" id="pwd2" name="pwd2" /></td>
 </tr>
 
 <tr>
 <td>性别</td>
 <td>
 <input type="radio" id="male" value="m" name="sex" />男
 <input type="radio" id="female" value="f" name="sex" />女
 <label class="error" for="sex"></label>
 
 </td>
 </tr>
 
 <tr>
 <td>年龄</td>
 <td><input type="text" id="age" name="age" /></td>
 </tr>
 
 <tr>
 <td align="left">电子邮箱:</td>
 <td><input type="text" id="email" name="email" /></td>
 </tr>
 
 <tr>
 <td align="left">身份证:</td>
 <td><input type="text" id="idcard" name="idcard" /></td>
 </tr>
 
 <tr>
 <td>学历</td>
 <td>
 <select name="edu" id="edu">
 <option value="">-请选择你的学历-</option>
 <option value="a">学前</option>
 <option value="a">小学</option>
 <option value="a">初中</option>
 <option value="a">高中</option>
 <option value="a">专科</option>
 <option value="b">本科</option>
 <option value="c">研究生</option>
 <option value="e">硕士</option>
 <option value="d">博士</option>
 </select>
 </td>
 </tr>
 
 <tr>
 <td>兴趣爱好</td>
 <td colspan="2">
 <input type="checkbox" name="hobby" id="coding" value="0" />编程
 <input type="checkbox" name="hobby" id="read" value="1" />看书
 <input type="checkbox" name="hobby" id="ball" value="2" />打球
 <label class="error" for="hobby"></label>
 </td>
 </tr>
 
 <tr>
 <td></td>
 <td><input type="submit" id="smtBtn" value="确定"></td>
 </tr>
 </table>
 </form>
 
 
 <!-- 引入jQuery类库 -->
 <script src="js/jquery-3.3.1.js"></script>
 <!-- 引入validator插件 -->
 <script src="js/jquery.validate.min.js"></script>
 
 <script>
 $("#empForm").validate({
 rules:{//配置表单项校验的规则
 username:{
 required: true,
 maxlength:5,
 },
 pwd:{
 required: true,
 rangelength:[6,10]
 },
 pwd2:{
 required:true,
 rangelength:[6, 10],
 equalTo:"#pwd"
 },
 sex:{
 required:true
 },
 age:{
 required:true,
 range:[18, 70],
 digits:true
 },
 email:{
 required:true,
 email:true
 },
 idcard:{
 required:true,
 card:true
 },
 edu:{
 required:true
 },
 hobby:{
 required:true
 }, 
 },
 messages:{//配置对应的表单项校验失败后的错误提示信息
 username:{
 required: "请输入用户名",
 maxlength:"用户名不得多于5位"
 },
 pwd:{
 required: "请输入密码",
 rangelength:"密码必须是6~10位"
 },
 pwd2:{
 required:"确认密码不能为空",
 rangelength:"确认密码必须是6~10位",
 equalTo:"两次密码输入不一致"
 },
 sex:{
 required:"性别必选"
 },
 age:{
 required:"年龄不能为空",
 range:"年龄必须是18~70岁之间",
 digits:"年龄必须是整数"
 },
 email:{
 required:"邮箱不能为空",
 email:"邮箱格式不正确"
 },
 idcard:{
 required:"身份证号不能为空",
 card:"身份证号格式不正确"//自定义身份证校验方法中有错误时提示信息,这里写了,会显示这里的
 },
 edu:{
 required:"学历必选"
 },
 hobby:{
 required:"兴趣爱好必选"
 } 
 }
 })
 
 //自定义身份证校验方法
 $.validator.addMethod("card",function(value, element, params){
 //value:要校验的值(校验组件的value值)
 //element:要校验的表单项标签对象
 //params:使用此规则时,配置的规则的值。(校验规则的参数)
 
 //如果校验通过,就返回true;否则返回false
 
 // 身份证格式:15位数字, 18位数字, 17位数字+X
 var reg = /^\d{15}(\d{2}[\dx])?$/i;//简单的身份证校验正则表达式
 var result = reg.test(value);
 return result;
 },"请输入正确的身份证号");
 </script> 
 </body>
</html>

jQuery表单校验插件validator使用方法详解

本文已被整理到了《jquery表单验证大全》 ,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery插件之validation插件
Mar 29 jQuery
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
关于jQuery库冲突的完美解决办法
May 20 jQuery
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
Jan 25 jQuery
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
jQuery实现导航样式布局操作示例【可自定义样式布局】
Jul 24 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
jquery登录的异步验证操作示例
May 09 jQuery
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
jquery传参及获取方式(两种方式)
Feb 13 #jQuery
jQuery实现简易QQ聊天框
Feb 10 #jQuery
jQuery实现简单聊天室
Feb 08 #jQuery
jquery实现点击弹出对话框
Feb 08 #jQuery
jQuery实现简易聊天框
Feb 08 #jQuery
jquery添加div实现消息聊天框
Feb 08 #jQuery
jQuery实现聊天对话框
Feb 08 #jQuery
You might like
解析php中static,const与define的使用区别
2013/06/18 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
js 链式延迟执行DOME
2012/01/04 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python实现字典的key和values的交换
2015/08/04 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
python实现SOM算法
2018/02/23 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
美国零售商店:Blue&Cream
2017/04/07 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
二年级小学生评语
2014/04/21 职场文书
环保倡议书50字
2014/05/15 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android