欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

bootStrap表单验证插件的使用

程序员文章站 2022-03-22 12:37:46
bootStrapValidator插件中常用表单验证的使用方法。 ......

bootstrapvalidator插件的使用

1.插件的下载和引用

首先要引入bootstrapvalidator插件。链接的地址:https://www.bootcdn.cn/jquery.bootstrapvalidator/
可以使用网页中的插件连接,也可以将源码下载到本地使用。
要使用bootstrapvalidator插件,代码中还要除了引入bootstrapvalidator插件的js和css外,还要引入jquery.js和bootstrap的js和css。

1 <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
2 <link rel="stylesheet" href="https://cdn.bootcss.com/jquery.bootstrapvalidator/0.5.3/css/bootstrapvalidator.min.css">
3 <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
4 <script type="text/javascript" src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
5 <script type="text/javascript" src="https://cdn.bootcss.com/jquery.bootstrapvalidator/0.5.3/js/bootstrapvalidator.min.js"></script>

注意:所有的表单控件一定要放到类名为from-group的div内部,验证才会生效。html代码如下:

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">班级名称</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="class_name" id="inputname"
 8                            placeholder="请输入班级名称">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

2.bootstrapvalidator的常用验证

2.1 非空验证 notempty

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">班级名称</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="class_name" id="inputname"
 8                            placeholder="请输入班级名称">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

接着加入验证js代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'submitted', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 class_name: {
14                     validators: {
15                         notempty: {
16                             message: '班级名称不能为空'
17                         }
18                     }
19                 }
20             }
21         })
22     })
23 </script>

2.2 数值验证 numeric

 html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">商品价格</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="price" id="inputname"
 8                            placeholder="请输入商品价格">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 price: {
14                     validators: {
15                         numeric: {
16                             message: '价格必须为数值'
17                         }
18                     }
19                 }
20             }
21         })
22     })
23 </script>

2.3 整数验证 digits

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">班级人数</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="std_num" id="inputname"
 8                            placeholder="请输入班级人数">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 std_num: {
14                     validators: {
15                         digits: {
16                             message: '价格必须为数值'
17                         }
18                     }
19                 }
20             }
21         })
22     })
23 </script>

2.4 最大值和最小值验证 lessthangreaterthan

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">最大最小值</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="max_num" id="inputname"
 8                            placeholder="请输入10-100之间的值">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 max_num: {
14                     validators: {
15                         lessthan: { //最大值验证
16                             value: 100,
17                             inclusive:false, //是否包含当前值,false不包含,true包含。默认为true
18                             message: '值不能大于或等于100'
19                         },
20                         greaterthan: {  //最小值验证
21                             value:10,
22                             inclusive:true,
23                             message: '值不能小于10'
24                         }
25                     }
26                 }
27             }
28         })
29     })
30 </script>

2.5 数值范围验证 between

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">年龄</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="age" id="inputname"
 8                            placeholder="请输入年龄">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 age: {
14                     validators: {
15                         between:{
16                             max:60,
17                             min:18,
18                             message: '年龄必须在18~60之间'
19                         }
20                     }
21                 }
22             }
23         })
24     })
25 </script>

2.6 字符串长度验证 stringlength

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">用户名</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="age" id="inputname"
 8                            placeholder="请输入用户名">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 age: {
14                     validators: {
15                         stringlength:{
16                             min:8,
17                             max:15,
18                             message: '用户名长度必须在8~15之间'
19                         }
20                     }
21                 }
22             }
23         })
24     })
25 </script>

2.7 邮箱地址验证 emailaddress

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">邮箱</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="email" id="inputname"
 8                            placeholder="请输入邮箱地址">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 email: {
14                     validators: {
15                         emailaddress:{
16                             message: '请输入正确的邮箱地址'
17                         }
18                     }
19                 }
20             }
21         })
22     })
23 </script>

2.8 ip地址验证 ip

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">ip</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="ip" id="inputname"
 8                            placeholder="请输入ip地址">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 ip: {
14                     validators: {
15                         ip:{
16                             message: '请输入正确的ip地址'
17                         }
18                     }
19                 }
20             }
21         })
22     })
23 </script>

2.9 日期格式验证 date

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">出生日期</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="birthday" id="inputname"
 8                            placeholder="请输入出生日期">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 birthday: {
14                     validators: {
15                         date:{
16                             format: 'yyyy-mm-dd',
17                             message: '请输入正确的出生日期'
18                         }
19                     }
20                 }
21             }
22         })
23     })
24 </script>

2.10 正则验证 regexp

通过正则验证,我们可以定制自己所需要的格式的输入验证。如上面的邮箱地址,或者身份证号或手机号等,我们都可以通过正则表达式来进行验证。

下面为手机号验证代码:

html代码

 1 <div class="col-lg-8 col-lg-offset-2" style="padding-top: 40px">
 2     <form class="form-horizontal" method="post" action="" id="classes-form">
 3         <div class="box-body">
 4             <div class="form-group">
 5                 <label for="inputname" class="col-sm-2 col-sm-offset-1 control-label">手机号</label>
 6                 <div class="col-sm-8">
 7                     <input type="text" class="form-control" name="phone_num" id="inputname"
 8                            placeholder="请输入手机号">
 9                 </div>
10             </div>
11         </div>
12     </form>
13 </div>

js验证代码

 1 <script>
 2     $(function () {
 3         $('#classes-form').bootstrapvalidator({
 4             live : 'enabled', //enabled代表当表单控件内容发生变化时就触发验证(默认值),
 5             // disabled和submitted代表当点击提交按钮时触发验证
 6 
 7             feedbackicons: {  //显示表单验证结果的图标
 8                 valid: 'glyphicon glyphicon-ok',
 9                 invalid: 'glyphicon glyphicon-remove',
10                 validating: 'glyphicon glyphicon-refresh'
11             },
12             fields: {
13                 phone_num: {
14                     validators: {
15                         regexp:{
16                             regexp: /^1[3-9][\d]{9}$/,  //正则规则用两个/包裹起来
17                             message: '请输入正确的手机号'
18                         }
19                     }
20                 }
21             }
22         })
23     })
24 </script>

3.总结

以上为经常会用到的一些表单验证,若有不正确或需要补充的,欢迎指出。

想了解更多bootstrapvalidator的更多验证,也可以进入 https://github.com/nghuuphuoc/bootstrapvalidator 下载源码学习研究。