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.
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
.
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:
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.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.