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 相关文章推荐
JQuery团队打造的javascript单元测试工具QUnit介绍
Feb 26 Javascript
JavaScript浏览器选项卡效果
Aug 25 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
Oct 26 Javascript
javascript设置连续两次点击按钮时间间隔的方法
Oct 28 Javascript
jQuery实现鼠标划过添加和删除class的方法
Jun 26 Javascript
深入学习JavaScript对象
Oct 13 Javascript
值得分享的轻量级Bootstrap Table表格插件
May 30 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
Oct 11 Javascript
gulp构建小程序的方法步骤
May 31 Javascript
详解JavaScript原型与原型链
Nov 16 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数据库备份还原类分享
2014/03/20 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
基于JQuery的密码强度验证代码
2010/03/01 Javascript
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
python实现人人网登录示例分享
2014/01/19 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
Python的UTC时间转换讲解
2019/02/26 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
python字符串Intern机制详解
2019/07/01 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
python 字符串追加实例
2019/07/20 Python
关于美容院的活动方案
2014/08/14 职场文书
2014年测量员工作总结
2014/12/12 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
python中validators库的使用方法详解
2022/09/23 Python