php

Laravel: validar confirmación de contraseña

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í:

<?php
/**
     * Get the validation rules that apply to the request.
     *
     * @return array<string, mixed>
     */    public function rules()
    {
        return [
            "name" => "required",
            "email" => "email:rfc",
            "password" => "required",
            "passwordConfirm" => "required|same:password",
            "rol" => "required",
        ];
    }

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:

<div class="field">
    <label class="label">Contraseña</label>
    <div class="control">
        <input required class="input" type="password" placeholder="Escribe la contraseña" name="password">
    </div>
</div>
<div class="field">
    <label class="label">Confirmar contraseña</label>
    <div class="control">
        <input required class="input" type="password" placeholder="Vuelve a escribir la contraseña"
            name="passwordConfirm">
    </div>
</div>

Abajo del formulario estoy mostrando los errores en caso de que existan:

@if(session("mensaje"))
<div class="mt-2 notification is-{{session('tipo') ? session("tipo") : "info"}}">
    {{session('mensaje')}}
</div>
@endif
@if (!empty($errors->all()))
<div class="notification is-danger mt-2">
    <h4 class="is-size-4">Por favor, corrige lo siguiente:</h4>
    <ul>
        @foreach ($errors->all() as $mensaje)
        <li>
            {{ $mensaje }}
        </li>
        @endforeach
    </ul>
</div>
@endif

Y en caso de que el usuario no escriba las mismas contraseñas y envíe el formulario, aparecerá lo siguiente:

Validar confirmación de contraseña con Laravel – Confirmar contraseña

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.