bootstrapValidator——一个很好用的表单验证插件,再也不用手写验证规则啦!

bootstrapValidator官方文档:http://bootstrapvalidator.votintsev.ru/api/

一、举个丽子:

写了一个小例子

先来看一下效果吧!

二、具体实现步骤如下:

1、下载jquery、bootstrap、bootstrapValidator

bootstrapValidator下载地址: https://github.com/nghuuphuoc/bootstrapvalidator/commit/c023475236f66baab72975887a26e51d65df72f7

在这里下载后,解压bootstrapValidator-master,里面会有jquery、bootstrap、bootstrapValidator。其中bootstrap和jquery在vendor文件夹中,bootstrapValidator在src文件夹中。直接复制过来用就可以了,不用单独一个一个下载。在demo文件夹中有很多例子,可以直接拿过来用。

注意:如果bootstrap或jquery是单独下载的,可能会因为版本不一致,导致验证时,不会实时更新状态,最好使用下载后bootstrapValidator-master中的jquery和bootstrap。

2、将jquery、bootstrap、bootstrapValidator引入到文件中(注意引入的顺序)

3、 编写html、css、js

三、下面来介绍我自己写的小例子

写了一个注册表单,其中:

1、用户名必须输入汉字;

2、密码和确认输入的必须一致,长度为6-16位;

3、手机号必须为数字,且是正确的手机号。不满足以上条件会有相应的提示。

四、代码实现:

1、html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>bootstrapValidatorDemo</title> <link rel="stylesheet" type="text/css" href="css/bootstrap/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrapValidator/bootstrapValidator.min.css">
<script type="text/javascript" src="js/jquery/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap/bootstrap.min.js"></script>
<script type="text/javascript" src="js/bootstrapValidator/bootstrapValidator.min.js"></script> </head>
<body>
<div class="container">
<div class="row">
<h2 class="title">用户注册</h2>
</div>
<form id="infoForm" class="form-horizontal bv-form" enctype="multipart/form-data">
<div class="row form-group">
<label>用户名:</label>
<input type="text" class="form-control" name="username" placeholder="请输入用户名"></input>
</div>
<div class="row form-group">
<label>密码:</label>
<input type="password" class="form-control" name="password" placeholder="请输入密码"></input>
</div>
<div class="row form-group">
<label>确认密码:</label>
<input type="password" class="form-control" name="confirmPassword" placeholder="请确认密码"></input>
</div>
<div class="row form-group">
<label>手机号:</label>
<input type="text" class="form-control" name="tel" placeholder="请输入手机号"></input>
</div>
<div class="row form-group" style="display: flex; justify-content: space-around;">
<button type="submit" class="btn btn-info" id="submit">提 交</button>
<button class="btn btn-default" id="reset">重 置</button>
</div>
</form>
</div>
</body>
</html>

2、css

<style type="text/css">
.container {
margin-top: 30px;
width: 500px;
}
.title {
font-weight: 700;
text-align: center;
margin-bottom: 30px;
}
</style>

3、js

<script type="text/javascript">
$('#reset').click(function(e){
e.preventDefault();//阻止默认事件
$('#infoForm input').val('');
$('#infoForm').data('bootstrapValidator').resetForm();
});
$('#infoForm').bootstrapValidator({
message : '输入的值无效!',
feedbackIcons : {
valid : 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating : 'glyphicon glyphicon-refresh'
},
fields : {
username : {
validators : {
notEmpty : {
message : '用户名不能为空!'
},
regexp : {
regexp : /[\u4E00-\u9FA5]/,
message : '请输入汉字!'
}
}
},
password: {
validators: {
notEmpty: {
message: '密码不能为空!'
},
different: {
field: 'username',
message: '密码不能与用户名相同!'
},
stringLength: {
min: 6,
max: 16,
message: '密码长度为6~16位!'
}
}
},
confirmPassword: {
validators: {
notEmpty: {
message: '请确认密码!'
},
identical: {
field: 'password',
message: '密码和确认密码不一致!'
}
}
},
tel : {
validators : {
notEmpty : {
message : '手机号不能为空!'
},
regexp : {
regexp : /^1[34578]\d{9}$/,
message : '请输入正确的手机号!'
},
stringLength: {
min: 11,
max: 11,
message: '请输入11位手机号码!'
}
}
}
}
}).on("success.form.bv", function(e) {
e.preventDefault();//阻止默认事件
alert('用户注册成功!');
})
</script>

五、需要注意的地方:

1、jquery、bootstrap、bootstrapValidator最好使用下载的bootstrapValidator-mastar中的文件,否则可能会导致验证状态不会实时更新

2、表单中需要验证的元素都必须包裹在有类名form-group的父盒子中,否则验证不起作用

3、验证的图标

这部分是验证时的图标,也可以不加这部分,如果加了,需要将bootstrapValidator-master --> vendor --> fonts文件夹复制到自己的文件目录中,与bootstrap.css的父级同级

这样图标就会显示出来了。

六、bootstrapValidator常用方法:

1. 重置表单 resetForm(),将隐藏所有错误提示和图标。
   $(form).data("bootstrapValidator").resetForm();
2. 移除验证项 removeField
   $(form).bootstrapValidator('removeField','ifLift');

3. 添加验证项 addField
$(form).bootstrapValidator("addField", "ifLift", {
       validators: {
notEmpty: {
message: '电梯不能为空!'
}
}
}); 4. 表单验证的字段是否都已通过验证 isValid(),通过返回true,否则返回false
   $(form).data('bootstrapValidator').isValid()

5. 手动对表单进行校验validate(), 可用在需要点击按钮或者链接而非提交对表单进行校验的时候。
   $(form).data('bootstrapValidator').isValid()
6. 更新某个字段的状态 updateStatus(),BootstrapValidator默认在校验某个字段合法后不再重新校验,当调用其他插件或者方法可能会改变字段值时,需要重新对该字段进行校验。

7. 对指定的字段进行校验。validateField(field)
   $(form).data("bootstrapValidator").updateStatus("square",  "NOT_VALIDATED",  null ).validateField('square');

NOT_VALIDATED       未校验的
      VALIDATING              核验中的
      INVALID                     校验失败的
      VALID                         校验成功的

如果对您有帮助,记得点赞哦!需要您的支持与鼓励,同时也欢迎您留下宝贵意见!

bootstrapValidator表单验证插件的更多相关文章

  1. BootStrapValidator表单验证插件的学习和使用

    BootStrapValidator表单验证插件的学习和使用 引入标签 <script type="text/javascript" src="https://cd ...

  2. 表单验证插件--formvalidation

    表单验证是一个非常基础的功能,当你的表单项少的时候,可以自己写验证,但是当你的表单有很多的时候,就需要一些验证的插件.今天介绍一款很好用的表单验证插件,formvalidation.其前身叫做boot ...

  3. BootstrapValidator 表单验证超详细教程

    一. 引入js 和css文件 在有jquery和bootstrap的页面里引入 bootstrapValidator.js bootstrapValidator.css 链接: https://pan ...

  4. jquery validate表单验证插件-推荐

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  5. 表单验证插件之jquery.validate.js

    提到表单验证的插件,第一个想到的就是jquery.validate.js,所以小生想在这里稍微详细地说一下这款插件的具体使用方法,便于理解,我直接附上整段demo的代码(没怎么调样式,主要是看js): ...

  6. jQuery学习之:Validation表单验证插件

    http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...

  7. jquery validate表单验证插件

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  8. 表单验证插件 - formValidator

    表单验证插件 - formValidator * 引入formValidator插件文件 * 引入formValidator插件的主文件 * 引入formValidator插件的正则有关文件 * 引入 ...

  9. JS表单验证插件(支持Ajax验证)

    自己编写了一个表单验证插件,支持ajax验证,使用起来很简单. 每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空:ru ...

随机推荐

  1. Kotlin Native

    Kotlin Native 不是 Jni 的概念,它不仅仅是要与底层代码比如 C.C++ 交互,而且还要绕过 Jvm 直接编译成机器码供系统运行.也就是说,Kotlin 准备丢掉 Java 这根拐杖了 ...

  2. (python)面向对象

    一.面向对象概述 要了解面向对象,就需要先了解面向过程的概念,那么什么是面向过程编程呢?最具代表性的就是C语言了,所谓面向过程编程就是在做一件事的时候,需要按步骤进行,第一步干什么,第二步干什么,这种 ...

  3. 基于pygame实现飞机大战【面向过程】

    一.简介 pygame 顶级pygame包 pygame.init - 初始化所有导入的pygame模块 pygame.quit - uninitialize所有pygame模块 pygame.err ...

  4. 洗礼灵魂,修炼python(63)--爬虫篇—re模块/正则表达式(1)

    爬虫篇前面的某一章了,我们要爬取网站页面源代码的数据,要从中获取到我们想要的数据,是不是感觉很费力,确实费力对吧?那么有没有什么有利的工具来解决这个问题呢?那就是这一篇博文的主题—— 正则表达式简介 ...

  5. 3d max 动作Take 001改名

    问题描述 带动作的Fbx文件导入Unity之后,动作名字为Take 001,如下所示: 在max那边是没有办法改名的,只能在Unity中改名. 方法1 1. 选中动画文件,按Ctrl + D,复制一份 ...

  6. SMB协议原理抓包分析

    SMB协议原理抓包分析 目录: 1.SMB概述 2.SMB原理 3.SMB配置 一.SMB概述 SMB(全称是Server Message Block)是一个协议名,可用于在计算机间共享文件.打印机. ...

  7. MySql基本使用方法

    一,基本概念 1, 常用的两种引擎:         (1) InnoDB        a,支持ACID,简单地说就是支持事务完整性.一致性:         b,支持行锁,以及类似ORACLE的一 ...

  8. Ubuntu 普通用户无法启动Google chrome

    删除 /home/你的用户名/.config/google-chrome文件,再打开就好了 root@ecos:cd /home/ecos/.config root@ecos:~/.config# r ...

  9. mysql 数据备份与数据导入到出

    一.数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异构系统中如Windows. #2. 逻辑备份: 备份的是建表.建库.插入等操作所执行SQL语句,适用于中小型数 ...

  10. ajax工作原理及jsonp跨域详解

    一.Ajax简介 ajax = 异步 JavaScript 和 XML. ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.我们知道,传统的网页(不使用ajax)如果需要更新内容, ...