Я пытаюсь реализовать 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
};
}]);
Я был бы признателен за любую помощь.
Вместо form form="loginForm"
, она должна быть form name="loginForm"
:
<form name="loginForm" class="registerModal" ng-submit="modal.submit(loginForm)" novalidate>