login.view.html 1.7 KB

123456789101112131415161718192021222324252627
  1. <div class="jumbotron">
  2. <div class="container">
  3. <div class="col-sm-8 col-sm-offset-2">
  4. <div class="col-md-6 col-md-offset-3">
  5. <h2>Login</h2>
  6. <div ng-show="vm.error" class="alert alert-danger">{{vm.error}}</div>
  7. <form name="form" ng-submit="vm.login()" role="form">
  8. <div class="form-group" ng-class="{'has-error': form.username.$dirty && form.username.$error.required}">
  9. <label for="username">Username</label>
  10. <input type="text" name="username" id="username" class="form-control" ng-model="vm.username" required />
  11. <span ng-show="form.username.$dirty && form.username.$error.required" class="help-block">Username is required</span>
  12. </div>
  13. <div class="form-group" ng-class="{'has-error': form.password.$dirty && form.password.$error.required}">
  14. <label for="password">Password</label>
  15. <input type="password" name="password" id="password" class="form-control" ng-model="vm.password" required />
  16. <span ng-show="form.password.$dirty && form.password.$error.required" class="help-block">Password is required</span>
  17. </div>
  18. <div class="form-actions">
  19. <button type="submit" ng-disabled="form.$invalid || vm.dataLoading" class="btn btn-primary">Login</button>
  20. <i ng-if="vm.dataLoading" class="fa fa-spinner fa-spin"></i>
  21. <a href="/register" class="btn btn-link">Register</a>
  22. </div>
  23. </form>
  24. </div>
  25. </div>
  26. </div>
  27. </div>