Validar inputs del formulario de login
agregamos password de type password al template
<ion-item>
<ion-label>Password</ion-label>
<ion-input type="password" formControlName="password"></ion-input>
</ion-item>
en el componente copiamos la definición de email y pegamos abajo y lo cambiamos el nombre por password.
Ajustamos las validaciones para password.
Requerido, minLength donde especificamos caracteres mínima.
password: new FormControl('', Validators.compose([
Validators.required,
Validators.minLength(5)
])),
Agregamos mensajes al usuario sobre el llenado de los campos
para esto en el component creamos variable con mensajes en json
cuando error sea de tipo required el mensaje es “tal”
si es de tipo pattern el mensaje es “tal otro”
validationMessages = {
email: [
{
type: 'required', message: 'El email es requerido'
},
{
type: 'pattern', message: 'El email es incorrecto'
}]
};
En el html creamos un div con una class llamada validation-error
Agregamos un ng-conteiner con un *ngFor que recorra las validaciones
dentro de un div agregamos un *ngIf donde traemos el campo email y verificamos si tiene un error. Además si el campo ya está sucio nos muestre el mensaje. O si ya se hizo focus en el input
<div class="validation-error">
<ng-container *ngFor="let validation of validationMessages.email">
<div
*ngIf="
(loginForm.get('email').hasError(validation.type) &&
loginForm.get('email').dirty) ||
loginForm.get('email').touched
"
>
</div>
</ng-container>
</div>
Para el password agregamos lo mismo al html solo que modificamos email por password
<div class="validation-error">
<ng-container *ngFor="let validation of validationMessages.password">
<div
*ngIf="
(loginForm.get('password').hasError(validation.type) &&
loginForm.get('password').dirty) ||
loginForm.get('password').touched
"
>
</div>
</ng-container>
</div>
en el page.ts agregamos al json
password: [
{
type: 'required', message: 'El password es requerido'
},
{
type: 'minLength', message: 'Tamaño minimo 5 caracteres'
}],
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.