2016-09-13 10 views
0

このlinkに続いて、ローカルホストでの名前とユーザー名からなるフォーム検証を構築しました。ブートストラップフォームの検証 - 色が変更されない

私が直面している問題は、両方のフィールドが空のときにサインアップをクリックすると「フィールドは必須」というエラーが表示されますが、名前またはユーザー名を入力すると「OK」と表示されます。私がlabel.successの下で緑色になるようにCSSを割り当てたとしても、赤で。

助けてください。

index.htmlを

body { 
 
    width: 100%; 
 
    height: 100%; 
 
} 
 
html { 
 
    width: 100%; 
 
    height: 100%; 
 
} 
 
@import url("assets/css/bootstrap.min.css"); 
 
@import url("assets/css/bootstrap-responsive.min.css"); 
 
label.valid { 
 
    font-weight: bold; 
 
    color: green; 
 
    padding: 2px 8px; 
 
    margin-top: 2px; 
 
} 
 
label.error { 
 
    font-weight: bold; 
 
    color: red; 
 
    padding: 2px 8px; 
 
    margin-top: 2px; 
 
}
<!DOCTYPE html> 
 
<html lang="en"> 
 

 
<head> 
 
    <title>Form</title> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
    <script src="assets/js/jquery-1.7.1.min.js"></script> 
 
    <script src="assets/js/jquery.validate.js"></script> 
 
    <link rel="stylesheet" type="text/css" href="css/style.css"> 
 

 
    <script> 
 
    addEventListener('load', prettyPrint, false); 
 
    $(document).ready(function() { 
 
     $('pre').addClass('prettyprint linenums'); 
 
    }); 
 
    </script> 
 
    <link rel="stylesheet" type="text/css" href="css/style.css" </head> 
 

 
    <body> 
 

 
    <div class="container"> 
 
     <a class="btn btn-primary" data-toggle="modal" data-target="#myModal" href="#">Open a form</a> 
 

 
     <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
 
     <div class="modal-dialog"> 
 
      <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span> 
 
       </button> 
 
       <h4 class="modal-title" id="myModalLabel">Modal title</h4> 
 
      </div> 
 
      <form class="form-horizontal" id="registration-form" role="form" data-async data-target="#myModal" action="#" method="post"> 
 
       <div class="modal-body"> 
 
       <div class="form-control-group row"> 
 
        <label for="name " class="col-md-2 control-label">name</label> 
 
        <div class="col-md-10 controls"> 
 
        <input type="text" class="form-control" id="name" placeholder="Enter name" name="name" /> 
 
        </div> 
 
       </div> 
 

 
       <div class="form-control-group row"> 
 
        <label for="username " class="col-md-2 control-label">Username</label> 
 
        <div class="col-md-8 controls"> 
 
        <input type="text" class="form-control" id="username" placeholder="Enter Username" name="username" /> 
 
        </div> 
 
       </div> 
 

 
       </div> 
 
       <div class="modal-footer"> 
 
       <button class="btn btn-primary" type="submit">Sign up</button> 
 
       <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
 
       </div> 
 
      </form> 
 

 
      </div> 
 
     </div> 
 
     </div> 
 
    </div> 
 

 
    <script type="text/javascript"> 
 
     $(document).ready(function() { 
 
     $('#registration-form').validate({ 
 
      rules: { 
 
      name: { 
 
       required: true, 
 
       required: true 
 
      }, 
 

 
      username: { 
 
       minlength: 6, 
 
       required: true 
 
      }, 
 

 
      agree: "required" 
 

 
      }, 
 
      highlight: function(element) { 
 
      $(element).closest('.form-control-group').removeClass('success').addClass('error'); 
 
      }, 
 
      success: function(element) { 
 
      element 
 
       .text('OK!').addClass('valid') 
 
       .closest('.form-control-group').removeClass('error').addClass('success'); 
 
      } 
 
     }); 
 

 
     }); // end document.ready 
 
    </script> 
 
    </body> 
 
</head> 
 

 
</html>

+0

なぜあなたは 'name:{ required:true、 required:true }、 'を持っていますか? – madalinivascu

+0

私は気付かずに余計に余分にタイプしました – user3820292

答えて

3

あなたは使用する必要があり、 "警告を持っている" またはフォームの入力ラッパーのクラス "エラーを持っている" " - 成功を持っている"

<div class="form-group has-success"> 
    <label class="control-label" for="inputSuccess1">Input with success</label> 
    <input type="text" class="form-control" id="inputSuccess1" aria-describedby="helpBlock2"> 
    <span id="helpBlock2" class="help-block">A block of help text that breaks onto a new line and may extend beyond one line.</span> 
</div> 
<div class="form-group has-warning"> 
    <label class="control-label" for="inputWarning1">Input with warning</label> 
    <input type="text" class="form-control" id="inputWarning1"> 
</div> 
<div class="form-group has-error"> 
    <label class="control-label" for="inputError1">Input with error</label> 
    <input type="text" class="form-control" id="inputError1"> 
</div> 

ところで、!importantを使うのは良い考えではなく、現在のところ怒られています。標準のブートストラップカラーを変更したい場合は、SASSまたはLESSバージョンからコンパイルする必要があります。また、カスタムHTMLクラスにブートストラップスタイルを適用するためのミックスインも用意されています。

関連する問題