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——Jquery与DOM对象的互相转换及DOM的三种操作
Oct 29 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
Feb 25 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
JS实现AES加密并与PHP互通的方法分析
Apr 19 Javascript
利用ES6实现单例模式及其应用详解
Dec 09 Javascript
Vue常见面试题整理【值得收藏】
Sep 20 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
js控制随机数生成概率代码实例
Mar 21 Javascript
基于JS实现简单滑块拼图游戏
Oct 12 Javascript
vue基于v-charts封装双向条形图的实现代码
Dec 09 Javascript
JS eval代码快速解密实例解析
Apr 23 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
Nov 01 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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
php 分页原理详解
2009/08/21 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
php中动态修改ini配置
2014/10/14 PHP
PHP积分兑换接口实例
2015/02/09 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
jQuery 学习第七课 扩展jQuery的功能 插件开发
2010/05/17 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
AngularJS基础知识
2014/12/21 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
python文件写入实例分析
2015/04/08 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
PyQt5响应回车事件的方法
2019/06/25 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
设计总监岗位职责
2013/12/07 职场文书
励志演讲稿范文
2014/04/29 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python
Java版 简易五子棋小游戏
2022/05/04 Java/Android
python绘制云雨图raincloud plot
2022/08/05 Python