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脚本语言在网页中的简单应用
May 13 Javascript
Save a File Using a File Save Dialog Box
Jun 18 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
Apr 02 Javascript
读jQuery之十四 (触发事件核心方法)
Aug 23 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
jquery+css实现动感的图片切换效果
Nov 25 Javascript
Boostrap模态窗口的学习小结
Mar 28 Javascript
Vue组件开发技巧总结
Mar 04 Javascript
详解Angular模板引用变量及其作用域
Nov 23 Javascript
js取0-9随机取4个数不重复的数字代码实例
Mar 27 Javascript
react 组件传值的三种方法
Jun 03 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 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
Sublime里直接运行PHP配置方法
2014/11/28 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
PHP解决中文乱码
2017/04/28 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
在JavaScript中遭遇级联表达式陷阱
2007/03/08 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
python编写的最短路径算法
2015/03/25 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
Python timeit模块原理及使用方法
2020/10/10 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
音乐表演专业毕业生求职信
2013/10/14 职场文书
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
怎么写自荐书范文
2014/02/12 职场文书
个人事迹材料范文
2014/12/29 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
2015年调度员工作总结
2015/04/30 职场文书
领导新年致辞2016
2015/07/29 职场文书
体育教师教学随笔
2015/08/15 职场文书