2017-03-17 43 views
2

看看我的代碼出了什麼問題,我的Bootstrap模式表單驗證不起作用。Bootstrap模式表單驗證不起作用

$(document).ready(function() { 
 
    $('#loginForm').formValidation({ 
 
     framework: 'bootstrap', 
 
     excluded: ':disabled', 
 
     icon: { 
 
      valid: 'glyphicon glyphicon-ok', 
 
      invalid: 'glyphicon glyphicon-remove', 
 
      validating: 'glyphicon glyphicon-refresh' 
 
     }, 
 
     fields: { 
 
      username: { 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'The username is required' 
 
        } 
 
       } 
 
      }, 
 
      password: { 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'The password is required' 
 
        } 
 
       } 
 
      } 
 
     } 
 
    }); 
 
});
<head> 
 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
 
    <title>Form Validation</title> 
 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script> 
 
    <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"> 
 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
 
    <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.3/css/bootstrapValidator.min.css"/> 
 
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.3/js/bootstrapValidator.min.js"> </script> 
 
</head> 
 
<body> 
 
    
 
<p class="text-center"> 
 
    <button class="btn btn-default" data-toggle="modal" data-target="#loginModal">Login</button> 
 
</p> 
 

 
<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="Login" aria-hidden="true"> 
 
    <div class="modal-dialog"> 
 
     <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
 
        <span aria-hidden="true">&times;</span> 
 
       </button> 
 
       <h5 class="modal-title">Login</h5> 
 
      </div> 
 

 
      <div class="modal-body"> 
 
       <!-- The form is placed inside the body of modal --> 
 
       <form id="loginForm" method="post" class="form-horizontal"> 
 
        <div class="form-group"> 
 
         <label class="col-xs-3 control-label">Username</label> 
 
         <div class="col-xs-5"> 
 
          <input type="text" class="form-control" name="username" /> 
 
         </div> 
 
        </div> 
 

 
        <div class="form-group"> 
 
         <label class="col-xs-3 control-label">Password</label> 
 
         <div class="col-xs-5"> 
 
          <input type="password" class="form-control" name="password" /> 
 
         </div> 
 
        </div> 
 

 
        <div class="form-group"> 
 
         <div class="col-xs-5 col-xs-offset-3"> 
 
          <button type="submit" class="btn btn-primary">Login</button> 
 
          <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
 
         </div> 
 
        </div> 
 
       </form> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div> 
 
    </body> 
 
</html>

+0

不應該在文本中添加一些說明嗎? –

+0

嘗試在** Bootstrap的**'shown.bs.modal'事件上運行您的「驗證」代碼。所以,當'Modal'被激活時,代碼被觸發 –

+0

我是新手bootstrap可以提供給我的代碼片段 –

回答

0

它sholuld是$('#loginForm').bootstrapValidator({...})代替 $('#loginForm').formValidation({...})因爲你使用bootstrapvalidator API(bootstrapvalidator 0.5.3)的formvalidation

$(document).ready(function() { 
 
    $('#loginForm').bootstrapValidator({ 
 
     framework: 'bootstrap', 
 
     excluded: ':disabled', 
 
     icon: { 
 
      valid: 'glyphicon glyphicon-ok', 
 
      invalid: 'glyphicon glyphicon-remove', 
 
      validating: 'glyphicon glyphicon-refresh' 
 
     }, 
 
     fields: { 
 
      username: { 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'The username is required' 
 
        } 
 
       } 
 
      }, 
 
      password: { 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'The password is required' 
 
        } 
 
       } 
 
      } 
 
     } 
 
    }); 
 
});
<head> 
 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
 
    <title>Form Validation</title> 
 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script> 
 
    <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"> 
 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
 
    <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.3/css/bootstrapValidator.min.css"/> 
 
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.3/js/bootstrapValidator.min.js"> </script> 
 
</head> 
 
<body> 
 
    
 
<p class="text-center"> 
 
    <button class="btn btn-default" data-toggle="modal" data-target="#loginModal">Login</button> 
 
</p> 
 

 
<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="Login" aria-hidden="true"> 
 
    <div class="modal-dialog"> 
 
     <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
 
        <span aria-hidden="true">&times;</span> 
 
       </button> 
 
       <h5 class="modal-title">Login</h5> 
 
      </div> 
 

 
      <div class="modal-body"> 
 
       <!-- The form is placed inside the body of modal --> 
 
       <form id="loginForm" method="post" class="form-horizontal"> 
 
        <div class="form-group"> 
 
         <label class="col-xs-3 control-label">Username</label> 
 
         <div class="col-xs-5"> 
 
          <input type="text" class="form-control" name="username" /> 
 
         </div> 
 
        </div> 
 

 
        <div class="form-group"> 
 
         <label class="col-xs-3 control-label">Password</label> 
 
         <div class="col-xs-5"> 
 
          <input type="password" class="form-control" name="password" /> 
 
         </div> 
 
        </div> 
 

 
        <div class="form-group"> 
 
         <div class="col-xs-5 col-xs-offset-3"> 
 
          <button type="submit" class="btn btn-primary">Login</button> 
 
          <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
 
         </div> 
 
        </div> 
 
       </form> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div> 
 
    </body>

舊的開源版本
+0

你可以提供給我這個代碼的最新版本的api鏈接 –

+0

鏈接已經爲formvalidation在答案如果你想使用商業版本的bootstrapvalidator –

+0

非常感謝您的幫助 –