Bootstrap:bootstrapValidator表单自定义验证
实例:
<%@ page contentType="text/html;charset=UTF-8" language="java"%> <!DOCTYPE html> <html> <head> <title>11</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link type="text/css" rel="stylesheet" href="static/vendors/bootstrapvalidator/css/bootstrapValidator.css"> <link type="text/css" rel="stylesheet" href="static/vendors/bootstrap/css/bootstrap.css"> </head> <body> <div class="container"> <br> <form class="form-horizontal" role="form" id="form-test"> <div class="form-group"> <label for="username" class="col-sm-1 control-label">姓名</label> <div class="col-sm-10"> <input type="text" class="form-control" id="username" name="username" placeholder="请输入姓名"> </div> </div> <div class="form-group"> <label for="password" class="col-sm-1 control-label">密码</label> <div class="col-sm-10"> <input type="password" class="form-control" id="password" name="password" placeholder="请输入密码"> </div> </div> <div class="form-group"> <label for="repassword" class="col-sm-1 control-label">确认密码</label> <div class="col-sm-10"> <input type="repassword" class="form-control" id="repassword" name="repassword" placeholder="请输入确认密码"> </div> </div> <div class="form-group"> <label for="email" class="col-sm-1 control-label">邮箱</label> <div class="col-sm-10"> <input type="text" class="form-control" id="email" name="email" placeholder="请输入邮箱"> </div> </div> <div class="form-group"> <div class="col-sm-offset-1 col-sm-10"> <div class="checkbox"> <label> <input type="checkbox">请记住我 </label> </div> </div> </div> <div class="form-group"> <div class="col-sm-offset-1 col-sm-10"> <button type="submit" class="btn btn-default" id="btn-test">登录</button> </div> </div> </form> </div> </body> <script src="static/vendors/jquery/js/jquery.min.js"></script> <script src="static/vendors/bootstrapvalidator/js/bootstrapValidator.js"></script> <script src="static/vendors/bootstrap/js/bootstrap.js"></script> <script> $(function () { $("#form-test").bootstrapValidator({ live: 'enabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证 excluded: [':disabled', ':hidden', ':not(:visible)'],//排除无需验证的控件,比如被禁用的或者被隐藏的 submitButtons: '#btn-test',//指定提交按钮,如果验证失败则变成disabled,但我没试成功,反而加了这句话非submit按钮也会提交到action指定页面 message: '通用的验证失败消息',//好像从来没出现过 feedbackIcons: {//根据验证结果显示的各种图标 valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { email: { validators: { emailAddress: {//验证email地址 message: '不是正确的email地址' }, notEmpty: {//检测非空 message: '请输入邮箱' }, } }, password: { validators: { notEmpty: {//检测非空 message: '请输入密码' }, } }, repassword: { validators: { notEmpty: {//检测非空 message: '请输入确认密码' }, identical: {//与指定控件内容比较是否相同,比如两次密码不一致 field: 'password',//指定控件name message: '两次输入的密码不同' }, } }, username: { validators: { notEmpty: {//检测非空,radio也可用 message: '请输入用户名' }, stringLength: {//检测长度 min: 3, max: 10, message: '长度必须在3-10之间' }, regexp: {//正则验证 regexp: /^[a-zA-Z0-9_.]+$/, message: '所输入的字符不符要求' }, } } } }); function showToast(msg,shortCutFunction) { toastr.options = { "closeButton": true, "debug": false, "progressBar": true, "positionClass": "toast-bottom-right", "onclick": null, "showDuration": "400", "hideDuration": "1000", "timeOut": "7000", "extendedTimeOut": "1000", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut" } toastr[shortCutFunction](msg,"提示"); } $("#btn-test").click(function () {//非submit按钮点击后进行验证,如果是submit则无需此句直接验证 $("#form-test").bootstrapValidator('validate');//提交验证 if ($("#form-test").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码 showToast("2345678","error"); alert("yes");//验证成功后的操作,如ajax } }); }); </script>
$('#forms').bootstrapValidator({ // excluded: [':disabled', ':hidden', ':not(:visible)'],//排除无需验证的控件,比如被禁用的或者被隐藏的 message: '通用的验证失败消息',//好像从来没出现过 feedbackIcons: {//根据验证结果显示的各种图标 valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { licName: { validators: { regexp: {//正则验证 regexp: /^[u4E00-u9FA5]{2,5}[0-9]{8}$/, // 表示2-5个汉子加8位数字
'请输如查桂峰10035608,您输入有误!' }, notEmpty: {//检测非空 message: '请输入申请人' }, } }, } })