bootstrapValidator--表單校驗


關於表單校驗 要依次引入

  <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">
    
    <!-- 表單校驗 -->
    <link rel="stylesheet" href="./bootstrap-validator/css/bootstrapValidator.min.css">
 <script src="./jquery/jquery.min.js"></script>
 <script src="./bootstrap/js/bootstrap.min.js"></script>
 <script src="./bootstrap-validator/js/bootstrapValidator.min.js"></script>
<!-- id :和后面的校驗匹配 -->
  <form class="form-horizontal" id="addForm">
        <div class="form-group">
             <label for="name" class="col-sm-2 control-label">姓名:</label>
             <div class="col-sm-10">
                  <input type="text" name="username" data-bv-notempty="true"
                     data-bv-notempty-message="不能為空" class="form-control" id="username" placeholder="">
             </div>
        </div>
        <div class="form-group">
             <label for="name" class="col-sm-2 control-label">性別:</label>
             <div class="col-sm-10">
                  <!-- <input type="text" class="form-control" id="name" placeholder=""> -->
                  <label><input type="radio" name="sex" value="男"></label>
                  <label><input type="radio" name="sex" value="女"></label>
             </div>
        </div>
                       
        <div class="form-group">
             <label for="creditCard" class="col-sm-2 control-label">身份證:</label>
             <div class="col-sm-10">
                  <input type="creditCard" name="creditCard" class="form-control" id="creditCard"
                         placeholder="">
             </div>
        </div>
        <div class="form-group">
             <label for="phone" class="col-sm-2 control-label">電話:</label>
             <div class="col-sm-10">
                  <input type="phone" name="phone" class="form-control" id="phone" placeholder="">
             </div>
        </div>

        <div class="form-group">
             <label for="inputEmail3" class="col-sm-2 control-label">郵箱:</label>
             <div class="col-sm-10">
                  <input type="text" name="email" class="form-control" id="inputEmail3" placeholder="">
             </div>
        </div>
        <div class="form-group">
             <label for="register" class="col-sm-2 control-label">狀態:</label>
             <div class="col-sm-10">
                  <!-- <input type="text" class="form-control" id="phone" placeholder=""> -->
                  <select name="addStatus" id="register" class="form-control">
                          <option value="">未注冊</option>
                          <option value="">已注冊</option>
                          <option value="">休學</option>
                  </select>
             </div>
        </div>
        <div class="form-group">
             <div class="col-sm-offset-3 col-sm-6">
                  <button type="reset" class="btn btn-default pull-left">重置</button>
                  <button type="submit" class="btn btn-primary pull-right">保存</button>
             </div>
        </div>
  </form>
 $('#addForm').bootstrapValidator({
        message: 'This value is not valid',
        // 配置校驗圖標
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',    // 校驗成功
            invalid: 'glyphicon glyphicon-remove',   // 校驗失敗
            validating: 'glyphicon glyphicon-refresh'  // 校驗中
        },
        // 配置校驗字段   (給input設置 name 值)
        fields: {
            username: {
                message: '用戶名驗證失敗',
                validators: {
                    notEmpty: {
                        message: '用戶名不能為空'
                    }
                }
            },
            email: {
                validators: {
                    // notEmpty: {
                    //     message: '郵箱地址不能為空'
                    // }

                    regexp: { //正則表達式
                        //    郵箱
                        // regexp: /^\w+@\w+(\.[a-z]+){1,2}$/,
                        regexp: /^(\w+@\w+(\.[a-z]+){1,2}\;)*\w+@\w+(\.[a-z]+){1,2}$/,
                        message: '郵箱格式不正確'
                    },
                }
            },
            phone: {
                message: '電話驗證失敗',
                validators: {
                    // notEmpty: {
                    //     message: '電話不能為空'
                    // },
                    regexp: { //正則表達式
                        //*星號表示可以重復任意次,也就是可以有多個號碼
                        // (13|15|18)\d{9}$ 最后一個用來匹配沒有分號的號碼 
                        // 最后一個號碼不能有分號
                         regexp: /^((13|15|18)\d{9}\;)*(13|15|18)\d{9}$/,
                        //以13,15,18開頭的手機號,共11位,如果多個手機號中間用英文的;(分號)分開
                        message: '號碼格式不正確'
                    },
                }
            },
            creditCard: {
                message: '身份證驗證失敗',
                validators: {
                    notEmpty: {
                        message: '身份證不能為空'
                    },
                    regexp: { //正則表達式
                        // 身份證號碼為15位或者18位,15位時全為數字,
                        // 18位前17位為數字,最后一位是校驗位,可能為數字或字符X  
                        regexp: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
                        message: '身份證格式不正確'
                    },
                }
            },

        }
    });
2. 校驗成功后, 會觸發一個事件, 表單校驗成功事件
* 默認是會提交表單的, 頁面就跳轉了,
* 我們需要注冊表單校驗成功事件, 在成功事件中, 阻止默認的提交, 通過 ajax 提交
// $('#addForm').on('success.form.bv', function (e) {
// // 阻止默認的提交
// console.log(123)
// e.preventDefault(); // 阻止默認的提交

// $.ajax({
// type: "post",
// url: "",
// data: $('#addForm').serialize(),
// dataType: 'json',
// success: function (info) {
// console.log(info);

// }
// })
// })
$( '#addForm'). data( "bootstrapValidator"). resetForm( true)
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM