En el corto post de hoy veremos cómo validar que las contraseñas que el usuario escribe sean iguales al momento de registrar un usuario, es decir, que la contraseña y la confirmación de la contraseña coincidan.
Así vas a poder mostrar el mensaje de “Las contraseñas deben coincidir” o “Vuelve a escribir tu contraseña”
Esto se puede hacer con un if o cosas complejas, pero te enseñaré a comprobar si las 2 contraseñas son iguales dentro del Request
que llega al formulario, dentro de StoreUserRequest específicamente.
Por cierto, estoy suponiendo que usas la autenticación de Laravel para crear usuarios o que al menos usas un Request para enviar el formulario.
Validando confirmación de contraseña
Lo único que tenemos que hacer es modificar el StoreUserRequest
o el request que uses para registrar al usuario. En mi caso mis reglas se ven así:
Presta atención a la línea 12, ahí estoy indicando que el campo password
es requerido, pero además en la línea 13 indico que el campo passwordConfirm
es requerido y debe ser igual al campo password
con same:password
.
Formulario para crear usuario
En este caso es necesario que el campo se llame igual que el de la validación. Por lo tanto mis campos son password
y passwordConfirm
:
Abajo del formulario estoy mostrando los errores en caso de que existan:
Y en caso de que el usuario no escriba las mismas contraseñas y envíe el formulario, aparecerá lo siguiente:
La ventaja de usar Requests es que si la misma es inválida nunca llegará a nuestro controlador en donde guardamos el usuario.
Por aquí te dejo más tutoriales de Laravel.