bootstrap 表单验证使用方法


Posted in Javascript onJanuary 11, 2017

前言:做Web开发的我们,表单验证是再常见不过的需求了。友好的错误提示能增加用户体验。博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator。今天就来看看它如何使用吧。

一、源码及API地址

介绍它之前,还是给出它的源码以及API的地址吧。

bootstrapvalidator源码:https://github.com/nghuuphuoc/bootstrapvalidator

boostrapvalidator api:http://bv.doc.javake.cn/api/

二、代码以及效果展示

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: '邮箱地址不能为空'
            }
          }
        }
      }
    });
  });

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

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

bootstrap 表单验证使用方法

验证通过,提交按钮恢复

bootstrap 表单验证使用方法

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

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: '邮箱地址格式有误'
            }
          }
        }
      }
    });
  });

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

bootstrap 表单验证使用方法

bootstrap 表单验证使用方法

bootstrap 表单验证使用方法

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

notEmpty:非空验证;

stringLength:字符串长度验证;

regexp:正则表达式验证;

emailAddress:邮箱地址验证(都不用我们去写邮箱的正则了~~)

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

base64:64位编码验证;

between:验证输入值必须在某一个范围值以内,比如大于10小于100;

creditCard:身份证验证;

date:日期验证;

ip:IP地址验证;

numeric:数值验证;

phone:电话号码验证;

uri:url验证;

更多验证类型详见:http://bv.doc.javake.cn/validators/。当然涉及中文的验证可能会有些小问题,园友们如果有需要可以自行下去用代码测试下。

还有一个比较常用的就是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。

颜色验证

bootstrap 表单验证使用方法

Tab页表单验证

bootstrap 表单验证使用方法

按钮验证

bootstrap 表单验证使用方法

以上所述是小编给大家介绍的bootstrap 表单验证使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery学习笔记之Helloworld
Dec 22 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
浅析javascript中函数声明和函数表达式的区别
Feb 15 Javascript
JavaScript严格模式详解
Nov 18 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
Sep 27 Javascript
Vue.js实现一个todo-list的上移下移删除功能
Jun 26 Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
js实现秒表计时器
Dec 16 Javascript
JS函数基本定义与用法示例
Jan 15 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
Feb 06 Javascript
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
原生js实现无缝轮播图效果
Jan 11 #Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 #Javascript
原生js实现放大镜效果
Jan 11 #Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 #Javascript
微信小程序开发经验总结(推荐)
Jan 11 #Javascript
bootstrap手风琴制作方法详解
Jan 11 #Javascript
el表达式 写入bootstrap表格数据页面的实例代码
Jan 11 #Javascript
You might like
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
列举Python中吸引人的一些特性
2015/04/09 Python
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
tensorflow 查看梯度方式
2020/02/04 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
党员活动日总结
2014/05/05 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
硕士生找工作求职信
2014/07/05 职场文书
培训计划通知
2015/07/15 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
基于Golang 高并发问题的解决方案
2021/05/08 Golang