jquery插件bootstrapValidator表单验证详解
发布时间 - 2026-01-10 21:49:54 点击率:次Bootstrap Validator是为Bootstrap3设计的一款表单验证jQuery插件,非常适合基于Bootstrap框架的网站。
看作者的github,这款插件已经不再更新了,而推荐使用FormValidation,不过现在还是先介绍一下BootstrapValidator的使用。

准备工作
BootstrapValidator文档地址:http://bv.doc.javake.cn/
下载源码后,将其中的bootstrapValidator.min.css和bootstapValidator.min.js导入项目,并在页面中引入这些组件,如下:
<link rel="stylesheet" type="text/css" href="path/bootstrapValidator.min.css"> <script type="text/javascript" src="path/bootstrapValidator.min.js"></script>
其中path是对应文件导入项目的路径
简单应用
文档中给出调用插件的方法是:
$(document).ready(function() {
$(formSelector).bootstrapValidator({
excluded: ...,
feedbackIcons: ...,
live: 'enabled',
message: 'This value is not valid',
submitButtons: 'button[type="submit"]',
submitHandler: null,
trigger: null,
fields: {
<fieldName>: {
enabled: true,
message: 'This value is not valid',
container: null,
selector: null,
trigger: null,
// Map the validator name with its options
validators: {
...
<validatorName>: <validatorOptions>
...
}
}
...
}
});
});
下面针对一个简单的表单来进行说明:
<form id="logForm" class="form-horizontal"> <div class="form-group"> <label class="col-lg-3 control-label">用户名</label> <div class="col-lg-5"> <input type="text" class="form-control" name="username" /> </div> </div> <div class="form-group"> <label class="col-lg-3 control-label">邮箱</label> <div class="col-lg-5"> <input type="text" class="form-control" name="email" /> </div> </div> <div class="form-group"> <label class="col-lg-3 control-label">密码</label> <div class="col-lg-5"> <input type="password" class="form-control" name="password" /> </div> </div> <button type="submit" class="btn btn-md">提交</button> </form>
对于上面这个表单应用BootstrapValidator非常简单,fieldName 对应表单中每一项的 name 属性,然后BV还内置了很多 validator 供用户选择,详细可参考文档的 validators 部分,可以看到,邮箱格式的验证正是其中之一,不需要用户自己写正则了。
$(document).ready(function() {
$('#signup-form').bootstrapValidator({
fields: {
username: {
validators: {
notEmpty: {
message: '用户名不能为空'
},
stringLength: {
min: 3,
max: 6,
message: '用户名只能在3-6个字符之间哦~'
}
}
},
email: {
validators: {
emailAddress: {
message: '邮箱格式有误'
}
}
},
password: {
validators: {
notEmpty: {
message: '密码不能为空'
},
stringLength: {
min: 6,
max: 8,
message: '密码必须在6-8个字符之间~'
},
regexp: {
regexp: /^[a-zA-Z0-9]+$/,
message: '密码只能由字母、数字组成~'
}
}
}
}
});
});
不符合验证要求时,会显示错误提示的message,并且禁用提交按钮,提示信息的颜色字体等等都可以重写css来设置,效果展示如下:
注:图中的注册按钮处于禁用状态
下面再介绍一下fields的 selector,因为表单数据往往是属于某一个注册用户所有,为方便与后台进行数据交互,我们往往按如下的形式设置name,这时候就不能直接利用name属性来进行验证了,而是使用selector来定义fields:
<form class="form-horizontal"> <div class="form-group"> <label class="col-lg-3 control-label">用户名</label> <div class="col-lg-5"> <input type="text" id="user" class="form-control" name="login_user.userName" /> </div> </div> <div class="form-group"> <label class="col-lg-3 control-label">密码</label> <div class="col-lg-5"> <input type="password" id="pass" class="form-control" name="login_user.password" /> </div> </div> <button type="submit" id="submitBtn" class="btn btn-md">提交</button> </form>
对应的js代码:
$(document).ready(function() {
$('#signup-form').bootstrapValidator({
fields: {
user: {
selector: '#user',
validators: {
notEmpty: {
message: '用户名不能为空'
},
stringLength: {
min: 3,
max: 6,
message: '用户名只能在3-6个字符之间哦~'
}
}
},
pass: {
selector: '#pass',
validators: {
notEmpty: {
message: '密码不能为空'
},
stringLength: {
min: 6,
max: 8,
message: '密码必须在6-8个字符之间~'
},
regexp: {
regexp: /^[a-zA-Z0-9]+$/,
message: '密码只能由字母、数字组成~'
}
}
}
}
});
});
如果你嫌弃这样写代码累赘,可以直接应用相应的HTML属性,详细可参考文档的 settings 部分
还想深入学习表单验证的朋友,可以点击专题:jquery表单验证大全 JavaScript表单验证大全
如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:
Bootstrap学习教程
Bootstrap实战教程
Bootstrap Table使用教程
Bootstrap插件使用教程
以上只是BootstrapValidator的一个非常简单的应用, 官方文档 很详细,感兴趣的话就继续查阅,来深入了解它的强大功能吧
# jquery
# bootstrapValidator
# 表单验证
# Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
# JS组件Form表单验证神器BootstrapValidator
# 实用又漂亮的BootstrapValidator表单验证插件
# jquery插件bootstrapValidator数据验证详解
# bootstrapValidator bootstrap-select验证不可用的解决办法
# 基于jQuery 实现bootstrapValidator下的全局验证
# bootstrapValidator自定验证方法写法
# 基于BootstrapValidator的Form表单验证(24)
# 使用BootStrapValidator完成前端输入验证
# BootstrapValidator验证用户名已存在(ajax)
# 表单
# 文档
# 为空
# 还想
# 介绍一下
# 如果你
# 不需要
# 只能在
# 推荐使用
# 并在
# 这款
# 感兴趣
# 提示信息
# 点击这里
# 注册用户
# 可以看到
# 可以直接
# 就不能
# 重写
# 不符合
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速查询网址的建站时间与历史轨迹?
网站图片在线制作软件,怎么在图片上做链接?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
制作旅游网站html,怎样注册旅游网站?
如何在建站之星网店版论坛获取技术支持?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Swift中switch语句区间和元组模式匹配
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
nodejs redis 发布订阅机制封装实现方法及实例代码
如何彻底删除建站之星生成的Banner?
JavaScript如何实现倒计时_时间函数如何精确控制
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
长沙做网站要多少钱,长沙国安网络怎么样?
简历在线制作网站免费版,如何创建个人简历?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel中的withCount方法怎么高效统计关联模型数量
如何在Windows 2008云服务器安全搭建网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
如何快速登录WAP自助建站平台?
Swift中swift中的switch 语句
Laravel中的Facade(门面)到底是什么原理
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
敲碗10年!Mac系列传将迎来「触控与联网」双革新
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel定时任务怎么设置_Laravel Crontab调度器配置
如何挑选最适合建站的高性能VPS主机?
5种Android数据存储方式汇总
javascript中对象的定义、使用以及对象和原型链操作小结
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
高端云建站费用究竟需要多少预算?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
如何构建满足综合性能需求的优质建站方案?
Laravel如何使用Collections进行数据处理?(实用方法示例)
深圳网站制作的公司有哪些,dido官方网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何在IIS7中新建站点?详细步骤解析
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何在 Pandas 中基于一列条件计算另一列的分组均值
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道

