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 】 【 网络技术251811 】 【 AI营销90571


相关推荐: 如何在云主机上快速搭建多站点网站?  如何安全更换建站之星模板并保留数据?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel Fortify是什么,和Jetstream有什么关系  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel怎么连接多个数据库_Laravel多数据库连接配置  详解Android中Activity的四大启动模式实验简述  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何在云主机快速搭建网站站点?  使用C语言编写圣诞表白程序  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  网站制作价目表怎么做,珍爱网婚介费用多少?  专业商城网站制作公司有哪些,pi商城官网是哪个?  在线制作视频的网站有哪些,电脑如何制作视频短片?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  中国移动官方网站首页入口 中国移动官网网页登录  高端智能建站公司优选:品牌定制与SEO优化一站式服务  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  php json中文编码为null的解决办法  LinuxCD持续部署教程_自动发布与回滚机制  如何快速上传建站程序避免常见错误?  如何在阿里云ECS服务器部署织梦CMS网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  简历没回改:利用AI润色让你的文字更专业  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  高端企业智能建站程序:SEO优化与响应式模板定制开发  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何做网站制作流程,*游戏网站怎么搭建?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何在建站之星网店版论坛获取技术支持?  Laravel如何实现本地化和多语言支持?(i18n教程)  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何使用Sanctum进行API认证?(SPA实战)  Android利用动画实现背景逐渐变暗  Laravel观察者模式如何使用_Laravel Model Observer配置  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  个人网站制作流程图片大全,个人网站如何注销?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何在腾讯云服务器上快速搭建个人网站?