基于BootstrapValidator的Form表单验证(24)


Posted in Javascript onDecember 12, 2016

Form表单进行数据验证是十分必要的,我们可以自己写JS脚本或者使用JQuery Validate 插件来实现。对于Bootstrap而言,利用BootstrapValidator来做Form表单验证是个相当不错的选择,两者完全兼容,我们也不用去关注CSS样式等美工效果。

0x01 引入BootstrapValidator

官网:BootstrapValidator,作为一个纯粹的使用者,我们可以在上面的链接处下载相关文件并引入,也可以利用CDN方式引入:

<link href="//cdn.bootcss.com/bootstrap-validator/0.5.3/css/bootstrapValidator.min.css" rel="stylesheet">
<script src="//cdn.bootcss.com/bootstrap-validator/0.5.3/js/bootstrapValidator.min.js"></script>

0x02 用户注册实例

下面使用一个用户注册的实例,来总结BootstrapValidator的基本使用方法(其中的JS和CSS文件的引入,请根据自己的实际位置进行调整):

<!DOCTYPE html>
<html lang="zh-cn">
<head>
 <meta charset="UTF-8">
 <title>用户注册</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link href="../../../css/bootstrap.min.css" rel="stylesheet">
 <link href="//cdn.bootcss.com/bootstrap-validator/0.5.3/css/bootstrapValidator.min.css" rel="stylesheet">
 <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
 <script src="../../../js/bootstrap.min.js"></script>
 <script src="//cdn.bootcss.com/bootstrap-validator/0.5.3/js/bootstrapValidator.min.js"></script>
</head>
<body>
<div class="container col-lg-3 col-lg-offset-3">
 <div class="page-header">
  <h3>用户注册</h3>
 </div>
 <div>
  <form id="registerForm" method="POST" class="form-horizontal" action="用户注册.html">
   <div class="form-group">
    <!--注册的用户名-->
    <label class="control-label" for="username">*请输入注册用户名:</label>
    <input type="text" class="form-control" placeholder="请输入注册用户名" name="username" id="username">
   </div>
   <div class="form-group">
    <!--注册密码-->
    <label class="control-label" for="password">*请输入注册密码:</label>
    <input type="password" class="form-control" placeholder="请输入注册密码" name="password" id="password">
   </div>
   <div class="form-group">
    <!--确认密码-->
    <label class="control-label" for="repassword">*请输入确认密码:</label>
    <input type="password" class="form-control" placeholder="请输入确认密码" name="repassword" id="repassword">
   </div>
   <div class="form-group">
    <label class="control-label" for="phone">*请输入手机号码:</label>
    <input type="text" class="form-control" placeholder="请输入手机号码" name="phone" id="phone">
   </div>
   <div class="form-group">
    <label class="control-label" for="email">*请输入电子邮箱:</label>
    <input type="text" class="form-control" placeholder="请输入电子邮箱" name="email" id="email">
   </div>
   <div class="form-group">
    <label class="control-label" for="inviteCode">*请输入邀请码:</label>
    <input type="text" class="form-control" placeholder="请输入邀请码" name="inviteCode" id="inviteCode">
   </div>
   <div class="form-group">
    <button type="submit" class="btn btn-primary form-control">提交注册</button>
   </div>
  </form>
 </div>
</div>
<script>
 $(function () {
  <!--数据验证-->
  $("#registerForm").bootstrapValidator({
   message:'This value is not valid',
//   定义未通过验证的状态图标
   feedbackIcons: {/*输入框不同状态,显示图片的样式*/
    valid: 'glyphicon glyphicon-ok',
    invalid: 'glyphicon glyphicon-remove',
    validating: 'glyphicon glyphicon-refresh'
   },
//   字段验证
   fields:{
//    用户名
    username:{
     message:'用户名非法',
     validators:{
//      非空
      notEmpty:{
       message:'用户名不能为空'
      },
//      限制字符串长度
      stringLength:{
       min:3,
       max:20,
       message:'用户名长度必须位于3到20之间'
      },
//      基于正则表达是的验证
      regexp:{
       regexp:/^[a-zA-Z0-9_\.]+$/,
       message:'用户名由数字字母下划线和.组成'
      }
     }
    },

//    密码
    password:{
     message:'密码非法',
     validators:{
      notEmpty:{
       message:'密码不能为空'
      },
//      限制字符串长度
      stringLength:{
       min:3,
       max:20,
       message:'密码长度必须位于3到20之间'
      },
//      相同性检测
      identical:{
//       需要验证的field
       field:'password',
       message:'两次密码输入不一致'
      },
//      基于正则表达是的验证
      regexp:{
       regexp:/^[a-zA-Z0-9_\.]+$/,
       message:'密码由数字字母下划线和.组成'
      }
     }
    },

    //    确认密码
    repassword:{
     message:'密码非法',
     validators:{
      notEmpty:{
       message:'密码不能为空'
      },
//      限制字符串长度
      stringLength:{
       min:3,
       max:20,
       message:'密码长度必须位于3到20之间'
      },
//      相同性检测
      identical:{
//       需要验证的field
       field:'password',
       message:'两次密码输入不一致'
      },
//      基于正则表达是的验证
      regexp:{
       regexp:/^[a-zA-Z0-9_\.]+$/,
       message:'密码由数字字母下划线和.组成'
      }
     }
    },

//    电子邮箱
    email:{
     validators:{
      notEmpty:{
       message:'邮箱地址不能为空'
      },
      emailAddress:{
       message:'请输入正确的邮箱地址'
      }
     }
    },

//    手机号码
    phone:{
     validators:{
      notEmpty:{
       message:'手机号码不能为空'
      },
      stringlength:{
       min:11,
       max:11,
       message:'请输入11位手机号码'
      },
      regexp:{
       regexp:/^1[3|5|8]{1}[0-9]{9}$/,
       message:'请输入正确的手机号码'
      }
     }
    },

//    邀请码
    inviteCode:{
     validators:{
      notEmpty:{
       message:'邀请码不能为空'
      },
      stringlength:{
       min:9,
       max:9,
       message:'请输入9位邀请码'
      },
      regexp:{
       regexp:/^[\w]{8}$/,
       message:'邀请码由数字和字母组成'
      }
     }
    }
   }
  })
 })
</script>
</body>
</html>

验证效果如下:

基于BootstrapValidator的Form表单验证(24)

0x03 后记

在实际应用中,可能还会遇到类似Ajax提交验证的问题,处理过程是类似的,以后再结合实际的应用来讲这个问题。
类似BootstrapValidator这种基于JS来做验证的过程只是客户端验证,只是为了提高用户体验,并不能保证提交数据的安全性,后端开发者还要做相应的后台验证。

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

Javascript 相关文章推荐
图片自动更新(说明)
Oct 02 Javascript
js 金额文本框实现代码
Feb 14 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
快速学习jQuery插件 Cookie插件使用方法
Dec 01 Javascript
AngularJS自动表单验证
Feb 01 Javascript
jQuery基于json与cookie实现购物车的方法
Apr 15 Javascript
Js面试算法详解
Apr 08 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 Javascript
JS Math对象与Math方法实例小结
Jul 05 Javascript
JS实现打砖块游戏
Feb 14 Javascript
Vue中key的作用示例代码详解
Jun 10 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 #Javascript
js原生之焦点图转换加定时器实例
Dec 12 #Javascript
IntersectionObserver API 详解篇
Dec 11 #Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
Dec 11 #Javascript
基于javascript实现的购物商城商品倒计时实例
Dec 11 #Javascript
基于jquery实现的鼠标悬停提示案例
Dec 11 #Javascript
jquery滚动条插件(可以自定义)
Dec 11 #Javascript
You might like
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
DedeCms模板安装/制作概述
2007/03/11 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
JS调用CS里的带参方法实例
2013/08/01 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
js实现碰撞检测
2021/01/29 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
利用python实现数据分析
2017/01/11 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
Python list与NumPy array 区分详解
2019/11/06 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
Pytorch中.new()的作用详解
2020/02/18 Python
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
顶岗实习接收函
2014/01/09 职场文书
社会公德演讲稿
2014/05/20 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
tomcat下部署jenkins的方法
2022/05/06 Servers