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 相关文章推荐
关于JavaScript的gzip静态压缩方法
Jan 05 Javascript
ExtJS Grid使用SimpleStore、多选框的方法
Nov 20 Javascript
onsubmit阻止form表单提交与onclick的相关操作
Sep 03 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
Feb 23 Javascript
JSON+HTML实现国家省市联动选择效果
May 18 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
javascript学习笔记--数字格式类型
May 22 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
详解vue组件基础
May 04 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
Jun 19 Javascript
vue实现鼠标经过动画
Oct 16 Javascript
原生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
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
document.all与WEB标准
2020/05/13 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
TypeScript类型声明书写详解
2019/08/28 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
Python网络爬虫实例讲解
2016/04/28 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
python如何将多个PDF进行合并
2019/08/13 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
django admin 添加自定义链接方式
2020/03/11 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
政协调研汇报材料
2014/08/15 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js