<form (ngSubmit)="f.form.valid && emitSubmit(f.form.value)" #f="ngForm" novalidate> <div class="form-group"> <label for="register_email">Email address</label> <input type="email" id="register_email" class="form-control" name="email" [(ngModel)]="model.email" placeholder="Enter email" required> <small class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="confirm_email">Email confirmation</label> <input type="email" id="confirm_email" class="form-control" name="confirm_email" placeholder="Enter email" required> </div> <label for="register_password">Password</label> <div class="input-group mb-3"> <input [type]="showPassword ? 'text' : 'password'" id="register_password" class="form-control" placeholder="Password" name="password" [(ngModel)]="model.password" aria-label="Password" required> <div class="input-group-append"> <button class="btn btn-outline-secondary" type="button" id="button-addon2" (click)="showPassword = !showPassword"> <div *ngIf="!showPassword"><span class="fas fa-fw fa-eye-slash"></span></div> <div *ngIf="showPassword"><span class="fas fa-fw fa-eye"></span></div> </button> </div> </div> <button type="submit" class="btn btn-success" [disabled]="!f.form.valid || f.form.pristine">Register</button> </form>