BootstrapValidator插件-表单验证

【源码及API】

BootstrapValidator源码https://github.com/nghuuphuoc/bootstrapvalidator

BootstrapValidator APIhttp://bv.doc.javake.cn/api/

【需要支持】

BootstrapValidator插件需要 jQuerybootstrap 3 (亲测 bootstrap 4 也是可以的)

【demo】写了一个简单的用户修改密码验证的例子

#1-> 在<head>中添加JS文件和CSS

<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="scripts/jquery-3.3.1.min.js"></script>

<!--Bootstrap JS-->
<script src="scripts/bootstrap.min.js"></script>
<!-- Bootstrap CSS -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">

<!--表单验证-->
<script src="scripts/bootstrapValidator.min.js"></script>
<!--汉化-->
<script src="scripts/zh_CN.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrapValidator.min.css">

<!--链接外部样式表-->
<link rel="stylesheet" type="text/css" href="css/login.css">

tips:

1-> 汉化文件 zh_CN.js 在 下载的 BootstrapValidator 文件夹中的 \bootstrapvalidator-master\dist\js\language 路径下,把文件引入你的项目中即可。

2-> 外部样式表使用的是boostrap自带examples中的 sign.css 登陆样式自行修改的。

#2-> body 写基本表单

<form id="updatePsdFrom" class="form-signin">
    <div class="form-group" >
        <label style="font-weight: bold">请输入旧密码</label>
        <input type="password" class="form-control" name="oldPassword" id="oldPassword"/>
    </div>
    <div class="form-group" >
        <label style="font-weight: bold">请输入新密码</label>
        <input type="password" class="form-control" name="newPassword" id="newPassword"/>
    </div>
    <div class="form-group">
        <label style="font-weight: bold">请再次输入新密码</label>
        <input type="password" class="form-control" name="confirmPassword" id="confirmPassword" />
    </div>
    <div class="form-group">
        <button type="submit" name="submit" class="btn btn-lg btn-primary btn-block mt-4" onclick="updateUserPsd()">确认修改</button>
    </div>
</form>

 界面如下:

#3-> 给表单添加验证规则

<script type="text/javascript">
    $(document).ready(function () {
        $("#updatePsdFrom").bootstrapValidator({
                message: 'This value is not valid',
                feedbackIcons: {
                    valid: 'glyphicon glyphicon-ok',
                    invalid: 'glyphicon glyphicon-remove',
                    validating: 'glyphicon glyphicon-refresh'
                },
                fields: {
                    oldPassword: {
                        validators: {
                            notEmpty: {
                                message: '旧密码不能为空!'
                            }
                        }
                    },
                    newPassword: {
                        validators: {
                            notEmpty: {
                                message: '新密码不能为空!'
                            },
                            different:{
                                field: 'oldPassword',
                                message: '新密码不能与旧密码一致!'
                            },
                            regexp: {
                                regexp: /^[a-zA-Z0-9_]+$/,
                                message: '密码只允许包含字母、数字和下划线!'
                            },
                            stringLength: {
                                min: 6,
                                max: 18,
                                message: '密码长度必须在6到18位之间!'
                            }
                        }
                    },
                    confirmPassword: {
                        validators: {
                            notEmpty: {
                                message: '确认密码不能为空!'
                            },
                            identical: {
                                field: 'newPassword',
                                message: '两次密码输入不一致!'
                            },
                            different: {
                                field: 'oldPassword',
                                message: '新密码不能与旧密码一致!'
                            },
                            regexp: {
                                regexp: /^[a-zA-Z0-9_]+$/,
                                message: '密码只允许包含字母、数字和下划线!'
                            },
                            stringLength: {
                                min: 6,
                                max: 18,
                                message: '密码长度必须在6到18位之间!'
                            }
                        }
                    }
                }
        });
    });
</script>

关于正则表达式的规则写法网上有很多,自行搜索即可。

#4-> 使用验证规则

给表单提交按钮添加了一个onclick() 函数

function updateUserPsd() {
    var oldPassword = document.getElementById("oldPassword").value;
    var confirmPassword = document.getElementById("confirmPassword").value;

    var bootstrapValidator = $("#updatePsdFrom").data('bootstrapValidator');
    bootstrapValidator.validate();
    
    //如果验证通过去后台进行交互操作
    if(bootstrapValidator.isValid()){
        $.ajax({
                    type: "post",
                    url: "UpdateUserPsdServlet",
                    data: {
                            old_password: oldPassword,
                            confirm_password: confirmPassword
                    },
                    async: false,
                    dataType:"json",
                    success: function (result) { 
                        //返回后台验证的结果
                    },
                    error: function (e) {
                        alert("错误! " + e.status);
                        //进行验证的清除
                        bootstrapValidator.destroy();
                    }
                });
     }
}

演示效果:

-----------参考链接-----------------------------------------------------------------------------

 #-> BootstrapValidator使用教程: https://www.jianshu.com/p/756b225d480d

#-> Bootstrap表单验证插件bootstrapValidator使用方法整理:https://www.cnblogs.com/woodk/p/5546847.html

#-> JS组件系列-Form表单验证神器:BoostrapValidator: https://www.cnblogs.com/landeanfen/p/5035608.html

#-> bootstrapvalidator密码验证以及清除验证:https://blog.csdn.net/qq_33470469/article/details/81034826

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值