0

Ich versuche, modal Validierung zu implementieren. Ich verwende controller as modal Syntax. Schließen und Senden-Funktion funktionieren wie erwartet. Leider Validierung nicht. loginForm, das an die Controller-Submit-Funktion übergeben wird, lautet undefined! Wegen dieses Problems kann ich keine Validierung des Benutzernamens durchführen.Undefiniertes Formular an ng-submit übergeben in Modal (UI Bootstrap)

<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 
    }; 

}]); 

würde ich für jede Hilfe dankbar.

Antwort

0

Statt form form="loginForm", sollte es form name="loginForm" sein:

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