Неопределенная форма, переданная ng-submit в модальном режиме (UI Bootstrap)

0

Я пытаюсь реализовать modal проверку. Я использую controller as modal синтаксис. Функция закрытия и отправки работает как ожидалось. К сожалению, валидация отсутствует. loginForm, который передается в функцию отправки контроллера, не undefined ! Из-за этой проблемы я не могу выполнить проверку ввода имени пользователя.

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

}]);

Я был бы признателен за любую помощь.

Теги:
modal-dialog
bootstrap-modal
validation
angular-ui-bootstrap

1 ответ

0

Вместо form form="loginForm", она должна быть form name="loginForm":

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню