BootstrapValidator 是一个基于 jQuery 和 Bootstrap 的表单验证插件,它提供了简单易用的方法来对表单进行实时验证,以下是关于 BootstrapValidator 的详细内容:
1、CDN:
可以通过 CDN 快速引入 BootstrapValidator 插件,使用以下链接地址:https://www.bootcdn.cn/jquery.bootstrapvalidator/
。
在 HTML 文件中,通过<link>
标签引入 CSS 文件,通过<script>
标签引入 JavaScript 文件。
<link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.bootcss.com/jquery.bootstrapvalidator/0.5.3/css/bootstrapValidator.min.css"> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery.bootstrapvalidator/0.5.3/js/bootstrapValidator.min.js"></script>
2、本地下载:
也可以将 BootstrapValidator 插件下载到本地使用,可以从其官网或 GitHub 仓库下载:
官网地址:http://bootstrapvalidator.votintsev.ru/api/
GitHub 地址:https://github.com/1000hz/bootstrap-validator
下载后,将相应的.js
和.css
文件放到项目目录中,并通过相对路径或绝对路径引入到 HTML 文件中。
1、HTML 结构:
确保表单控件放在类名为form-group
的<div>
内部,以便验证生效。
<div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px"> <form class="form-horizontal" method="post" action="" id="classes-form"> <div class="box-body"> <div class="form-group"> <label for="inputName" class="col-sm-2 col-sm-offset-1 control-label">班级名称</label> <div class="col-sm-8"> <input type="text" class="form-control" name="class_name" id="inputName" placeholder="请输入班级名称"> </div> </div> </div> </form> </div>
2、初始化插件:
在文档就绪函数中,使用$('form').bootstrapValidator()
方法初始化表单验证。
$(function () { $('#classes-form').bootstrapValidator({ live: 'submitted', // 可选值有 'enabled', 'disabled', 'submitted',表示验证触发时机 feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { class_name: { validators: { notEmpty: { message: '班级名称不能为空' } } } } }); });
1、非空验证(notEmpty):
检查字段是否为空,在 HTML 中使用data-bv-notempty
属性,并设置data-bv-notempty-message
属性来指定提示消息。
<input type="text" class="form-control" name="username" id="inputUsername" placeholder="请输入用户名" data-bv-notempty="true" data-bv-notempty-message="用户名不能为空">
或者在 JavaScript 中使用notEmpty
验证器:
fields: { username: { validators: { notEmpty: { message: '用户名不能为空' } } } }
2、字符串长度验证(stringLength):
检查字符串的长度是否在指定范围内,在 JavaScript 中使用stringLength
验证器,并设置min
和max
属性。
fields: { username: { validators: { stringLength: { min: 6, max: 18, message: '用户名长度必须在6到18位之间' } } } }
3、正则表达式验证(regexp):
使用正则表达式来验证字段的值是否符合特定格式,在 JavaScript 中使用regexp
验证器,并设置regexp
和message
属性。
fields: { email: { validators: { regexp: { regexp: /^[a-zA-Z0-9_.]+@[a-zA-Z0-9_.]+.[a-zA-Z]{2,}$/, message: '邮箱格式不正确' } } } }
4、远程验证(remote):
通过 AJAX 请求远程服务器来验证字段的值是否有效,在 JavaScript 中使用remote
验证器,并设置url
和message
属性。
fields: { username: { validators: { remote: { url: '/check-username', // 远程验证的 URL message: '该用户名已被占用' } } } }
1、默认提交行为:
当表单验证通过时,会触发表单的默认提交行为,可以在submitHandler
属性中自定义提交逻辑。
submitHandler: function (validator, form, submitButton) { // 可以在这里执行自定义的提交逻辑,如发送 AJAX 请求等 alert('表单提交成功!'); return false; // 阻止默认的表单提交行为 }
2、防止表单提交:
如果希望在验证失败时阻止表单提交,可以将live
属性设置为'disabled'
,这样只有在点击提交按钮时才会触发验证,并且如果验证不通过,表单不会提交。
$('#classes-form').bootstrapValidator({ live: 'disabled', // 只在提交时触发验证 feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { class_name: { validators: { notEmpty: { message: '班级名称不能为空' } } } } });
1、Q: 如何更改验证提示信息的显示位置?
A: 可以通过修改 CSS 样式来调整验证提示信息的位置,默认情况下,提示信息会显示在相应字段的右侧,你可以根据需要自定义样式,例如使用position
属性来改变提示信息的绝对位置或相对位置。
2、Q: 是否可以对多个字段进行联合验证?
A: 是的,可以使用different
或identical
验证器来进行多个字段之间的比较验证,使用different
验证器可以确保两个字段的值不相同,而使用identical
验证器可以确保两个字段的值相同,这些验证器需要在fields
配置中针对相应的字段进行设置。
BootstrapValidator 是一个非常实用的表单验证插件,它与 Bootstrap 框架无缝集成,能够大大提高表单验证的效率和用户体验,在使用过程中,建议根据具体需求合理选择验证规则,并注意正确配置插件的各项参数,可以参考官方文档和示例代码来深入学习和使用该插件,以便更好地发挥其功能。