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 相关文章推荐
让innerHTML的脚本也可以运行起来
Jul 01 Javascript
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
清除div下面的所有标签的方法
Feb 17 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
Sep 21 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
Oct 23 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
JavaScript正则获取地址栏中参数的方法
Mar 02 Javascript
ES6新特性一: let和const命令详解
Apr 20 Javascript
React组件中的this的具体使用
Feb 28 Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 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
smarty内置函数config_load用法实例
2015/01/22 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
python微信公众号开发简单流程
2018/03/23 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
python web框架 django wsgi原理解析
2019/08/20 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
安全教育心得体会
2013/12/29 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
资产移交协议书
2016/03/24 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
Python实现滑雪小游戏
2021/09/25 Python
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers