2016-02-26 43 views
0

我有一個引導驗證器的問題, 我有一個angularjs項目,其中我有一個指令中的模態表單。 所以,我想當模態隱藏,重置窗體的驗證復位。 但是當我使用:引導驗證器不想重置

$('#StandardForm').bootstrapValidator('resetForm', true); 

什麼也沒發生,當我回憶起我的表格模式,校驗總是在這裏(輸入是綠色(好)或紅色(不好))。

看到我的指令:

angular.module('app.administration').directive('wcStandardForm',['servicesHTTP', function(servicesHTTP) 
{ 
return { 
    restrict: 'E', 
    scope: { 
     standard: '=', 
     method: '&' 
    }, 
    replace: true, 
    templateUrl: 'app/administration/directives/standard/wc-standard-form.tpl.html', 
    link: function(scope, form) 
    { 
     form.bootstrapValidator({ 
      framework: 'bootstrap', 
      excluded: ':disabled', 
      feedbackIcons: { 
       valid: 'glyphicon glyphicon-ok', 
       invalid: 'glyphicon glyphicon-remove', 
       validating: 'glyphicon glyphicon-refresh' 
      }, 
      fields: { 
       name: { 
        validators: { 
         notEmpty: { 
          message: 'le nom est nécessaire.' 
         }, 
         stringLength: { 
          max: 31, 
          message: 'Le nom ne doit pas dépasser 31 caractères.' 
         } 
        } 
       } 
      } 
     }); 
    }, 
    controller: function($scope) 
    { 

     /** 
     * Vide le moduleForm 
     */ 
     $scope.clearStandardForm = function() 
     { 
      //$scope.standard = {}; 
      $('#StandardForm').bootstrapValidator('resetForm', true); 
     }; 

     /** 
     * Valide le module et envoi la requete http 
     */ 
     $scope.validateStandardForm = function() 
     { 
      ... 
      $scope.clearStandardForm(); 
     }; 
    } 
}; 
}]); 

這裏的模板:

<div class="modal fade" id="standardFormModal"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal"> 
        <span aria-hidden="true" ng-click="clearStandardForm()">&times;</span> 
        <span ng-click="clearStandardForm()" class="sr-only">Close</span> 
       </button> 
       <h4 class="modal-title">Assigner fonctions</h4> 
      </div> 
      <div class="modal-body"> 
       <form id="StandardForm" method="post" class="ng-pristine ng-valid bv-form" novalidate="novalidate"> 
        <button type="submit" class="bv-hidden-submit" style="display: none; width: 0px; height: 0px;"></button> 

        <div class="form-group"> 
         <label class="control-label">Nom</label> 
         <input type="text" class="form-control" name="name" ng-model="standard.standard_name"> 
        </div> 

        <div class="form-actions"> 
         <div class="row"> 
          <div class="col-md-12"> 
           <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="clearStandardForm()">Close</button> 
           <button type="submit" class="btn btn-primary"data-dismiss="modal" ng-click="validateStandardForm()"><i class="fa fa-save"></i> Sauvegarder</button> 
          </div> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

我試圖做$('#StandardForm').bootstrapValidator('resetForm', true);上的事件show.bs.modal等的模式和同樣的事情的hidden.bs.modal

所以,如果你有一個想法,我會把它:)

+0

是這個錯字錯誤'

Shehary

回答

0

看你的代碼,發現了這個錯誤id="StandardF orm"(如果它沒有錯字)

<form id="StandardF orm" method="post" class="ng-pristine ng-valid bv-form" novalidate="novalidate"> 

凡在JS選擇使用是如果你看一下參考here$('#StandardForm')

其次,要復位具有驗證規則的表單字段另一種方法是$(form).data('bootstrapValidator').resetForm();

$('#StandardForm').data('bootstrapValidator').resetForm(true); 
+0

不,這不是我沒有空間的嘗試,它不工作... –