-<h3>Login</h3>
+<div class="row">
+ <div class="content-padding">
-<div *ngIf="error" class="alert alert-danger">{{ error }}</div>
+ <h3>Login</h3>
-<form role="form" (ngSubmit)="login()" [formGroup]="loginForm">
- <div class="form-group">
- <label for="username">Username</label>
- <input
- type="text" class="form-control" name="username" id="username" placeholder="Username"
- [(ngModel)]="username"
- >
- <div [hidden]="loginForm.controls.username.valid || loginForm.controls.username.pristine" class="alert alert-danger">
- Username is required
- </div>
- </div>
+ <div *ngIf="error" class="alert alert-danger">{{ error }}</div>
- <div class="form-group">
- <label for="password">Password</label>
- <input
- type="password" class="form-control" name="password" id="password" placeholder="Password"
- [(ngModel)]="password"
- >
- <div [hidden]="loginForm.controls.password.valid || loginForm.controls.password.pristine" class="alert alert-danger">
- Password is required
- </div>
- </div>
+ <form role="form" (ngSubmit)="login()" [formGroup]="form">
+ <div class="form-group">
+ <label for="username">Username</label>
+ <input
+ type="text" class="form-control" id="username" placeholder="Username" required
+ formControlName="username"
+ >
+ <div *ngIf="formErrors.username" class="alert alert-danger">
+ {{ formErrors.username }}
+ </div>
+ </div>
- <input type="submit" value="Login" class="btn btn-default" [disabled]="!loginForm.valid">
-</form>
+ <div class="form-group">
+ <label for="password">Password</label>
+ <input
+ type="password" class="form-control" name="password" id="password" placeholder="Password" required
+ formControlName="password"
+ >
+ <div *ngIf="formErrors.password" class="alert alert-danger">
+ {{ formErrors.password }}
+ </div>
+ </div>
+
+ <input type="submit" value="Login" class="btn btn-default" [disabled]="!form.valid">
+ </form>
+ </div>
+</div>