JS组件Form表单验证神器BootstrapValidator


Posted in Javascript onJanuary 26, 2016

本文为大家分享了JS组件Form表单验证神器BootstrapValidator,供大家参考,具体内容如下

1、初级用法
来看bootstrapvalidator的描述:A jQuery form validator for Bootstrap 3。从描述中我们就可以知道它至少需要jQuery、bootstrap的支持。我们首先引入需要的js组件:

<script src="~/Scripts/jquery-1.10.2.js"></script>

 <script src="~/Content/bootstrap/js/bootstrap.min.js"></script>
 <link href="~/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" />

 <script src="~/Content/bootstrapValidator/js/bootstrapValidator.min.js"></script>
 <link href="~/Content/bootstrapValidator/css/bootstrapValidator.min.css" rel="stylesheet" />

我们知道,既然是表单验证,那么我们在cshtml页面就必须要有一个Form,并且我们知道Form里面取元素都是通过name属性去取值的,所以,表单里面的元素都要有一个name的属性值。

 <form>
  <div class="form-group">
  <label>Username</label>
  <input type="text" class="form-control" name="username" />
  </div>
  <div class="form-group">
  <label>Email address</label>
  <input type="text" class="form-control" name="email" />
  </div>
  <div class="form-group">
  <button type="submit" name="submit" class="btn btn-primary">Submit</button>
  </div>
 </form>

有了表单元素之后,就是我们的js初始化了。

$(function () {
 $('form').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: '用户名不能为空'
   }
   }
  },
  email: {
   validators: {
   notEmpty: {
    message: '邮箱地址不能为空'
   }
   }
  }
  }
 });
 });

内容应该很容易看懂。来看效果:

验证通不过,提交按钮灰掉不能点击

JS组件Form表单验证神器BootstrapValidator

验证通过,提交按钮恢复

JS组件Form表单验证神器BootstrapValidator

看看效果先感受下,最大优点:使用简单,界面友好。下面我们来看看重叠验证。

2、中级用法
上面我们知道了非空验证的写法,除此之外肯定还有其他验证方式啊。别急,我们慢慢来看。上面的代码cshtml部分不动,js部分我们稍作修改:

 $(function () {
 $('form').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: 6,
    max: 18,
    message: '用户名长度必须在6到18位之间'
   },
   regexp: {
    regexp: /^[a-zA-Z0-9_]+$/,
    message: '用户名只能包含大写、小写、数字和下划线'
   }
   }
  },
  email: {
   validators: {
   notEmpty: {
    message: '邮箱不能为空'
   },
   emailAddress: {
    message: '邮箱地址格式有误'
   }
   }
  }
  }
 });
 });

加上了重叠验证我们来看效果:

JS组件Form表单验证神器BootstrapValidator

JS组件Form表单验证神器BootstrapValidator

JS组件Form表单验证神器BootstrapValidator

由上面的代码可以看出在validators属性对应一个Json对象,里面可以包含多个验证的类型:

  • notEmpty:非空验证;
  • stringLength:字符串长度验证;
  • regexp:正则表达式验证;
  • emailAddress:邮箱地址验证(都不用我们去写邮箱的正则了~~)

除此之外,在文档里面我们看到它总共有46个验证类型,我们抽几个常见的出来看看:

  • base64:64位编码验证;
  • between:验证输入值必须在某一个范围值以内,比如大于10小于100;
  • creditCard:身份证验证;
  • date:日期验证;
  • ip:IP地址验证;
  • numeric:数值验证;
  • phone:电话号码验证;
  • uri:url验证;

还有一个比较常用的就是submitHandler属性,它对应着提交按钮的事件方法。使用如下:

$(function () {
 $('form').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: 6,
    max: 18,
    message: '用户名长度必须在6到18位之间'
   },
   regexp: {
    regexp: /^[a-zA-Z0-9_]+$/,
    message: '用户名只能包含大写、小写、数字和下划线'
   }
   }
  },
  email: {
   validators: {
   notEmpty: {
    message: '邮箱不能为空'
   },
   emailAddress: {
    message: '邮箱地址格式有误'
   }
   }
  }
  },
  submitHandler: function (validator, form, submitButton) {
  alert("submit");
  }
 });
 });

在它的Demo里面介绍了很多验证的实例。我们简单看看它的效果,至于实现代码,其实很简单,有兴趣的可以直接看api。

颜色验证

JS组件Form表单验证神器BootstrapValidator

Tab页表单验证

JS组件Form表单验证神器BootstrapValidator

按钮验证

JS组件Form表单验证神器BootstrapValidator

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

 以上就是关于本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
javascript suggest效果 自动完成实现代码分享
Feb 17 Javascript
Javascript中自动切换焦点实现代码
Dec 15 Javascript
Extjs4中的分页应用结合前后台
Dec 13 Javascript
JavaScript中输出标签的方法
Aug 27 Javascript
jQuery 遍历函数详解
Jul 05 Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 Javascript
浅析bootstrap原理及优缺点
Mar 19 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
node前端开发模板引擎Jade的入门
May 11 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
Aug 31 Javascript
微信小程序封装自定义弹窗的实现代码
May 08 Javascript
微信小程序返回上一级页面的实现代码
Jun 19 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
Jan 26 #Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 #Javascript
javascript实现2016新年版日历
Jan 25 #Javascript
基于javascript实现图片左右切换效果
Jan 25 #Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 #Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
Jan 25 #Javascript
JavaScript实现给定时间相加天数的方法
Jan 25 #Javascript
You might like
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
webpack将js打包后的map文件详解
2018/02/22 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
说出数据连接池的工作机制是什么?
2013/04/19 面试题
心理健康课教学反思
2014/02/13 职场文书
毕业班联欢会主持词
2014/03/27 职场文书
村委会换届选举方案
2014/05/03 职场文书
早读课迟到检讨书
2014/09/25 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
个人作风建设总结
2014/10/23 职场文书
基层党支部整改方案
2014/10/25 职场文书
会议简讯范文
2015/07/20 职场文书
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS