2016-04-19 45 views
6

使用片斷不知道爲什麼我的驗證不工作,已經嘗試使用各種驗證,但結果總是返回爲有效..jqBootstrapValidation不起作用,總是返回有效值;

需要第二眼發現錯誤..

第一次,希望我下面的代碼片段是正確的..

<!DOCTYPE html> 
 
<html lang="en"> 
 
\t <head> 
 
\t \t <meta charset="utf-8"> 
 
\t \t <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
\t \t <title>Test Files</title> 
 
\t \t <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"> 
 
\t \t <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
     
 
\t \t <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 
\t \t <script src="https://cdnjs.cloudflare.com/ajax/libs/jqBootstrapValidation/1.3.7/jqBootstrapValidation.min.js"></script> 
 
\t \t <script> 
 
\t \t \t $(function() { 
 
       $("input,select,textarea").jqBootstrapValidation(
 
        { 
 
         preventSubmit: true, 
 
         submitError: function($form, event, errors) { 
 
          // Here I do nothing, but you could do something like display 
 
          // the error messages to the user, log, etc. 
 
\t \t \t \t \t \t \t alert("Not Valid!!"); 
 
         }, 
 
         submitSuccess: function($form, event) { 
 
          alert("OK"); 
 

 
         }, 
 
         filter: function() { 
 
          return $(this).is(":visible"); 
 
         } 
 
        } 
 
       ); 
 
      }); 
 
\t \t </script> 
 
\t </head> 
 
\t <body> 
 
\t \t <nav class="navbar navbar-default" role="navigation"> 
 
\t \t \t <div class="container-fluid"> 
 
\t \t \t \t <div class="navbar-header"> 
 
\t \t \t \t \t <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#mainnav" aria-expanded="false"> 
 
\t \t \t \t \t \t <span class="sr-only">Navigation Toggle</span> 
 
\t \t \t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t \t </button> 
 
\t \t \t \t \t <a class="navbar-brand" href="#">K</a> 
 
\t \t \t \t </div> 
 
\t \t </nav> 
 
\t \t <div class="container-fluid"> 
 
\t \t \t <div class="panel panel-primary"> 
 
\t \t \t \t <div class="panel-heading"> 
 
\t \t \t \t \t <h3 class="panel-title">Form Name</h3> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t \t <div class=btn-group" role="group" aria-label="true"> 
 
\t \t \t \t \t \t \t <div class="btn-toolbar" role="toolbar" aria-label="true"> 
 
\t \t \t \t \t \t \t \t <button type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-repeat" aria-hidden="false"></span></button> 
 
\t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t \t \t <ul class="nav nav-tabs"> 
 
\t \t \t \t \t \t \t \t <li><a href="#first-tab" data-toggle="tab">Main<i class="fa"></i></a></li> 
 
\t \t \t \t \t \t \t </ul> 
 
\t \t \t \t \t \t \t <form class="form-inline" id="accountForm" method="post" class="form-horizontal"> 
 
\t \t \t \t \t \t \t \t <div class="tab-content"> 
 
\t \t \t \t \t \t \t \t \t <div class="tab-pane" id="first-tab"> 
 
\t \t \t \t \t \t \t \t \t \t <!-- INPUT that need to be validated... --> 
 
\t \t \t \t \t \t \t \t \t \t <div class="input-group input-group-sm col-xs-12"> 
 
\t \t \t \t \t \t \t \t \t \t \t <span class="input-group-addon" id="sizing-addon3">Serial Number (Only Accept Numbers)</span> 
 
\t \t \t \t \t \t \t \t \t \t \t <input 
 
\t \t \t \t \t \t \t \t \t \t \t \t type="text" 
 
\t \t \t \t \t \t \t \t \t \t \t \t data-validation-regex-regex="^[0-9]*$" 
 
\t \t \t \t \t \t \t \t \t \t \t \t data-validation-regex-message="Only Numbers" 
 
\t \t \t \t \t \t \t \t \t \t \t \t class="form-control" 
 
\t \t \t \t \t \t \t \t \t \t \t \t placeholder="Serial Number" 
 
\t \t \t \t \t \t \t \t \t \t \t \t aria-describedby="sizing-addon3" 
 
\t \t \t \t \t \t \t \t \t \t \t /> 
 
\t \t \t \t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t \t \t \t \t <button type="submit" class="btn btn-primary">Test Validation <i class="icon-ok icon-white"></i></button> 
 
\t \t \t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t \t \t </div> \t 
 
\t \t \t \t \t \t \t </form> 
 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t </body> 
 
</html>

+0

問題是標籤組件內部的輸入... – FerryHtw

回答

3

我看到兩個問題: -

在下面一行中,請注意,在div類後面缺少一個引號。這不是主要問題,但

<div class=btn-group" role="group" aria-label="true"> 

第二個問題是jqBootstrapValidation需要你定義控制組類父DIV。因此,添加以下應該工作: -

<div class="control-group tab-pane" id="first-tab"> 

<!DOCTYPE html> 
 
<html lang="en"> 
 
\t <head> 
 
\t \t <meta charset="utf-8"> 
 
\t \t <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
\t \t <title>Test Files</title> 
 
\t \t <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"> 
 
\t \t <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
     
 
\t \t <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 
\t \t <script src="https://cdnjs.cloudflare.com/ajax/libs/jqBootstrapValidation/1.3.7/jqBootstrapValidation.min.js"></script> 
 
\t \t <script> 
 
\t \t \t $(function() { 
 
       $("input,select,textarea").jqBootstrapValidation(
 
        { 
 
         preventSubmit: true, 
 
         submitError: function($form, event, errors) { 
 
          // Here I do nothing, but you could do something like display 
 
          // the error messages to the user, log, etc. 
 
\t \t \t \t \t \t \t alert("Not Valid!!"); 
 
         }, 
 
         submitSuccess: function($form, event) { 
 
          alert("OK"); 
 

 
         }, 
 
         filter: function() { 
 
          return $(this).is(":visible"); 
 
         } 
 
        } 
 
       ); 
 
      }); 
 
\t \t </script> 
 
\t </head> 
 
\t <body> 
 
\t \t <nav class="navbar navbar-default" role="navigation"> 
 
\t \t \t <div class="container-fluid"> 
 
\t \t \t \t <div class="navbar-header"> 
 
\t \t \t \t \t <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#mainnav" aria-expanded="false"> 
 
\t \t \t \t \t \t <span class="sr-only">Navigation Toggle</span> 
 
\t \t \t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t \t \t <span class="icon-bar"></span> 
 
\t \t \t \t \t </button> 
 
\t \t \t \t \t <a class="navbar-brand" href="#">K</a> 
 
\t \t \t \t </div> 
 
\t \t </nav> 
 
\t \t <div class="container-fluid"> 
 
\t \t \t <div class="panel panel-primary"> 
 
\t \t \t \t <div class="panel-heading"> 
 
\t \t \t \t \t <h3 class="panel-title">Form Name</h3> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t \t <div class="btn-group" role="group" aria-label="true"> 
 
\t \t \t \t \t \t \t <div class="btn-toolbar" role="toolbar" aria-label="true"> 
 
\t \t \t \t \t \t \t \t <button type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-repeat" aria-hidden="false"></span></button> 
 
\t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t \t \t <ul class="nav nav-tabs"> 
 
\t \t \t \t \t \t \t \t <li><a href="#first-tab" data-toggle="tab">Main<i class="fa"></i></a></li> 
 
\t \t \t \t \t \t \t </ul> 
 
\t \t \t \t \t \t \t <form class="form-inline" id="accountForm" method="post" class="form-horizontal"> 
 
\t \t \t \t \t \t \t \t <div class="tab-content"> 
 
\t \t \t \t \t \t \t \t \t <div class="control-group tab-pane" id="first-tab"> 
 
\t \t \t \t \t \t \t \t \t \t <!-- INPUT that need to be validated... --> 
 
\t \t \t \t \t \t \t \t \t \t <div class="input-group input-group-sm col-xs-12"> 
 
\t \t \t \t \t \t \t \t \t \t \t <span class="input-group-addon" id="sizing-addon3">Serial Number (Only Accept Numbers)</span> 
 
\t \t \t \t \t \t \t \t \t \t \t <input 
 
\t \t \t \t \t \t \t \t \t \t \t \t type="text" 
 
\t \t \t \t \t \t \t \t \t \t \t \t data-validation-regex-regex="^[0-9]*$" 
 
\t \t \t \t \t \t \t \t \t \t \t \t data-validation-regex-message="Only Numbers" 
 
\t \t \t \t \t \t \t \t \t \t \t \t class="form-control" 
 
\t \t \t \t \t \t \t \t \t \t \t \t placeholder="Serial Number" 
 
\t \t \t \t \t \t \t \t \t \t \t \t aria-describedby="sizing-addon3" 
 
\t \t \t \t \t \t \t \t \t \t \t /> 
 

 
\t \t \t \t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t \t \t \t \t <button type="submit" class="btn btn-primary">Test Validation <i class="icon-ok icon-white"></i></button> 
 
\t \t \t \t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t \t \t </div> \t 
 
\t \t \t \t \t \t \t </form> 
 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t </body> 
 
</html>

+0

馬克與所需的輸入,空值通過驗證 –