1- < div class ="col-md-6 offset-md-3 mt-5 ">
2- < div class ="card ">
3- < h4 class ="card-header "> Login</ h4 >
4- < div class ="card-body ">
5- < form [formGroup] ="form " (ngSubmit) ="onLogin() ">
6- < div class ="form-group ">
7- < label for ="username "> Username</ label >
8- < input type ="text " formControlName ="username " class ="form-control "
9- [ngClass] ="{ 'is-invalid': isFormInvalid('username') } " />
10- < div *ngIf ="isFormInvalid('username') && form.get('username')?.hasError('required') " class ="invalid-feedback ">
11- Username is required
12- </ div >
13- </ div >
14- < div class ="form-group ">
15- < label for ="password "> Password</ label >
16- < input type ="password " formControlName ="password " class ="form-control "
17- [ngClass] ="{ 'is-invalid': isFormInvalid('password') } " />
18- < div *ngIf ="isFormInvalid('password') && form.get('password')?.hasError('required') " class ="invalid-feedback ">
19- Password is required
20- </ div >
21- </ div >
22- < button [disabled] ="!canLogin() " class ="btn btn-primary " [attr.aria-disabled] ="!canLogin() " aria-label ="Login ">
23- < span *ngIf ="loading " class ="spinner-border spinner-border-sm mr-1 "> </ span >
24- Login
25- </ button >
26- < div *ngIf ="failed " class ="alert alert-danger mt-3 mb-0 "> Invalid user</ div >
27- </ form >
1+ < form [formGroup] ="form " (ngSubmit) ="onLogin() ">
2+ < div class ="form-group ">
3+ < label for ="username "> Username</ label >
4+ < input type ="text " formControlName ="username " class ="form-control "
5+ [ngClass] ="{ 'is-invalid': isFormInvalid('username') } " />
6+ < div *ngIf ="isFormInvalid('username') && form.get('username')?.hasError('required') " class ="invalid-feedback ">
7+ Username is required
288 </ div >
299 </ div >
30- </ div >
10+ < div class ="form-group ">
11+ < label for ="password "> Password</ label >
12+ < input type ="password " formControlName ="password " class ="form-control "
13+ [ngClass] ="{ 'is-invalid': isFormInvalid('password') } " />
14+ < div *ngIf ="isFormInvalid('password') && form.get('password')?.hasError('required') " class ="invalid-feedback ">
15+ Password is required
16+ </ div >
17+ </ div >
18+ < button [disabled] ="!canLogin() " class ="btn btn-primary " [attr.aria-disabled] ="!canLogin() " aria-label ="Login ">
19+ < span *ngIf ="loading " class ="spinner-border spinner-border-sm mr-1 "> </ span >
20+ Login
21+ </ button >
22+ </ form >
0 commit comments