profile.component.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <h2 class="floating-title">{{ title }}</h2>
  2. <div class="main-content">
  3. <div class="container-fluid">
  4. <div class="row justify-content-center">
  5. <div class="col-12">
  6. <div class="align-container">
  7. <div class="card">
  8. <div class="card-header">
  9. <div class="row align-items-center">
  10. <div class="col-8">
  11. <h3 class="mb-0">Editar perfil</h3>
  12. </div>
  13. </div>
  14. </div>
  15. <div class="card-body">
  16. <form
  17. class="form-auth-small ng-untouched ng-pristine ng-valid"
  18. [formGroup]="userForm"
  19. >
  20. <h6 class="heading-small text-muted mb-4">
  21. Información de usuario
  22. </h6>
  23. <div class="pl-lg-4">
  24. <div class="row">
  25. <div class="col-lg-12">
  26. <div class="hint-wrapper">
  27. <small class="hint">
  28. <i class="fas fa-exclamation-circle"></i>
  29. La contraseña debe contener letras mayusculas,
  30. minusculas, al menos un número y un símbolo.
  31. </small>
  32. </div>
  33. <div class="form-group">
  34. <label for="old_password">Contraseña vieja</label>
  35. <input
  36. type="password"
  37. class="form-control"
  38. formControlName="old_password"
  39. [ngClass]="{
  40. 'is-invalid': submitted && f.old_password.errors
  41. }"
  42. />
  43. <div
  44. *ngIf="submitted && f.old_password.errors"
  45. class="invalid-feedback"
  46. >
  47. <div *ngIf="f.old_password.errors.required">
  48. Campo requerido
  49. </div>
  50. </div>
  51. </div>
  52. <div class="form-group">
  53. <label for="new_password">Nueva contraseña</label>
  54. <input
  55. type="password"
  56. class="form-control"
  57. formControlName="new_password"
  58. [ngClass]="{
  59. 'is-invalid': submitted && f.new_password.errors
  60. }"
  61. />
  62. <div
  63. *ngIf="submitted && f.new_password.errors"
  64. class="invalid-feedback"
  65. >
  66. <div *ngIf="f.new_password.errors.required">
  67. Campo requerido
  68. </div>
  69. <div *ngIf="f.new_password.errors.minlength">
  70. La contraseña debe contener al menos 8 caracteres
  71. </div>
  72. <div
  73. *ngIf="f.new_password.hasError('passwordStrength')"
  74. style="white-space: pre;"
  75. >
  76. {{ f.new_password.errors["passwordStrength"] }}
  77. </div>
  78. </div>
  79. </div>
  80. <div class="form-group">
  81. <label for="confirm_new_password"
  82. >Nueva confirmar contraseña</label
  83. >
  84. <input
  85. type="password"
  86. class="form-control"
  87. formControlName="confirm_new_password"
  88. [ngClass]="{
  89. 'is-invalid':
  90. submitted && f.confirm_new_password.errors
  91. }"
  92. />
  93. <div
  94. *ngIf="submitted && f.confirm_new_password.errors"
  95. class="invalid-feedback"
  96. >
  97. <div *ngIf="f.confirm_new_password.errors.required">
  98. Campo requerido
  99. </div>
  100. <div *ngIf="f.confirm_new_password.errors.mustMatch">
  101. Las contraseñas deben coincidir
  102. </div>
  103. </div>
  104. </div>
  105. <br />
  106. <button class="btn btn-primary" (click)="editUser()">
  107. Actualizar contraseña
  108. </button>
  109. </div>
  110. </div>
  111. </div>
  112. </form>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </div>
  119. </div>