0

我試圖執行modal驗證。我正在使用controller as modal語法。關閉和提交功能按預期工作。不幸的是驗證不。傳遞給控制器​​提交功能的loginForm是undefined!由於這個問題我不能執行用戶名輸入驗證。在Modal(UI Bootstrap)中傳遞給ng-submit的未定義表單

<form form="loginForm" class="registerModal" ng-submit="modal.submit(loginForm)" novalidate> 
    <div class="modal-header"> 
     <h3 class="modal-title">TITLE</h3> 
    </div> 
    <div class="modal-body "> 
     <div class="row form-horizontal"> 
      <div class="form-group" > 
       <label class="col-sm-4 control-label">Username:<span style="color:red">*</span></label> 
       <div class="col-sm-8"> 
        <input type="text" class="form-control" name="username" ng-model="modal.user.username" ng-maxlength="3" required> 
       </div> 
      </div> 
      <div uib-alert class="col-sm-offset-4 alert-danger" ng-show="loginForm.username.$error.required">Error Msg</div> 
    </div> 
    </div> 
    <div class="modal-footer"> 
     <button class="btn btn-primary" type="submit" ng-click="modal.showErrors=true">Register</button> 
     <button class="btn pull-left" type="button" ng-click="modal.cancel()">Cancel</button> 
    </div> 
</form> 

Controller.js

angular.module('app') 
.controller('RegistrationCtrl',['$uibModalInstance', function ($uibModalInstance) { 

    var vm = this; 
    vm.showErrors = false; 

    //Modal 
    vm.user = { 
     username: 'default' 
    }; 
    */ 
    /**********Submiting form**********/ 
    vm.cancel = function() { 
     $uibModalInstance.dismiss('cancel'); 
    }; 

    vm.submit = function(form){ 
     console.log('submiting....'); 
     console.log(form); //it is undefined 
    }; 

}]); 

我會感謝任何幫助。

回答

0

相反的form form="loginForm",它應該是form name="loginForm"

<form name="loginForm" class="registerModal" ng-submit="modal.submit(loginForm)" novalidate> 
相關問題