Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 

44 строки
2.4 KiB

  1. <div class="card">
  2. <h4 class="card-header">Register</h4>
  3. <div class="card-body">
  4. <form [formGroup]="form" (ngSubmit)="onSubmit()">
  5. <div class="mb-3">
  6. <label class="form-label">First Name</label>
  7. <input type="text" formControlName="firstName" class="form-control" [ngClass]="{ 'is-invalid': submitted && f['firstName'].errors }" />
  8. <div *ngIf="submitted && f['firstName'].errors" class="invalid-feedback">
  9. <div *ngIf="f['firstName'].hasError('required')">First Name is required</div>
  10. </div>
  11. </div>
  12. <div class="mb-3">
  13. <label class="form-label">Last Name</label>
  14. <input type="text" formControlName="lastName" class="form-control" [ngClass]="{ 'is-invalid': submitted && f['lastName'].errors }" />
  15. <div *ngIf="submitted && f['lastName'].errors" class="invalid-feedback">
  16. <div *ngIf="f['lastName'].hasError('required')">Last Name is required</div>
  17. </div>
  18. </div>
  19. <div class="mb-3">
  20. <label class="form-label">Username</label>
  21. <input type="text" formControlName="username" class="form-control" [ngClass]="{ 'is-invalid': submitted && f['username'].errors }" />
  22. <div *ngIf="submitted && f['username'].errors" class="invalid-feedback">
  23. <div *ngIf="f['username'].hasError('required')">Username is required</div>
  24. </div>
  25. </div>
  26. <div class="mb-3">
  27. <label class="form-label">Password</label>
  28. <input type="password" formControlName="password" class="form-control" [ngClass]="{ 'is-invalid': submitted && f['password'].errors }" />
  29. <div *ngIf="submitted && f['password'].errors" class="invalid-feedback">
  30. <div *ngIf="f['password'].hasError('required')">Password is required</div>
  31. <div *ngIf="f['password'].hasError('minlength')">Password must be at least 6 characters</div>
  32. </div>
  33. </div>
  34. <div>
  35. <button [disabled]="loading" class="btn btn-primary">
  36. <span *ngIf="loading" class="spinner-border spinner-border-sm me-1"></span>
  37. Register
  38. </button>
  39. <a routerLink="../login" class="btn btn-link">Cancel</a>
  40. </div>
  41. </form>
  42. </div>
  43. </div>