11< form [formGroup] ="form " (ngSubmit) ="onLogin() " class ="needs-validation " novalidate >
2- < div class ="text-center ">
3- <!-- Username -->
4- < div class ="mb-2 ">
5- < input placeholder ="Username " type ="text " id ="usernameInput " formControlName ="username " class ="form-control "
6- [ngClass] ="{ 'is-invalid': isFieldInvalid('username') } " />
7- </ div >
8- <!-- Password -->
9- < div class ="mb-2 ">
10- < input placeholder ="Password " type ="password " id ="passwordInput " formControlName ="password "
11- class ="form-control " [ngClass] ="{ 'is-invalid': isFieldInvalid('password') } " />
12- </ div >
13- <!-- Remember me check -->
14- < div class ="row mb-2 ">
15- < div class ="d-flex justify-content-center ">
16- < div class ="form-check form-switch mb-3 mb-md-0 ">
17- < input id ="rememberMe " type ="checkbox " (change) ="onRememberMe($event.target) " class ="form-check-input ">
18- < label for ="rememberMe " class ="form-check-label "> Remember me</ label >
19- </ div >
2+ < div *ngIf ="failed " class ="text-danger text-center "> Invalid user</ div >
3+ <!-- Username -->
4+ < div class ="mb-2 ">
5+ < input placeholder ="Username " type ="text " id ="usernameInput " formControlName ="username " class ="form-control "
6+ [ngClass] ="{ 'is-invalid': isFieldInvalid('username') } " />
7+ </ div >
8+ <!-- Password -->
9+ < div class ="mb-2 ">
10+ < input placeholder ="Password " type ="password " id ="passwordInput " formControlName ="password " class ="form-control "
11+ [ngClass] ="{ 'is-invalid': isFieldInvalid('password') } " />
12+ </ div >
13+ <!-- Remember me check -->
14+ < div class ="row mb-2 ">
15+ < div class ="d-flex justify-content-center ">
16+ < div class ="form-check form-switch mb-3 mb-md-0 ">
17+ < input id ="rememberMe " type ="checkbox " (change) ="onRememberMe($event.target) " class ="form-check-input ">
18+ < label for ="rememberMe " class ="form-check-label "> Remember me</ label >
2019 </ div >
2120 </ div >
22- <!-- Login button -- >
23- < div class =" d-grid gap-2 " >
24- < button [disabled] =" !isLoginEnabled() " class ="btn btn-primary " [attr.aria-disabled] =" !isLoginEnabled() "
25- aria-label =" Login " >
26- < icon-waiting *ngIf =" loading " > </ icon-waiting > Login
27- </ button >
28- </ div >
21+ </ div >
22+ <!-- Login button -- >
23+ < div class ="d-grid gap-2 " >
24+ < button [disabled] =" !isLoginEnabled() " class =" btn btn-primary " [attr. aria-disabled] =" !isLoginEnabled() "
25+ aria-label =" Login " >
26+ < icon-waiting *ngIf =" loading " > </ icon-waiting > Login
27+ </ button >
2928 </ div >
3029</ form >
0 commit comments