
Crea requisitos de contraseña fáciles de usar con el método applyRules() de Laravel
- Publicado el 05 mayo, 2025
- Palabras: 157
Crear requisitos de contraseña fáciles de usar ahora es más fácil con el nuevo método applyRules() de Laravel, que brinda acceso directo a sus reglas de validación de contraseña para mostrarlas en las vistas.

Al crear formularios de registro o restablecimiento de contraseña, es importante comunicar claramente los requisitos de contraseña a los usuarios. Anteriormente, era posible que tuviera que mantener estos requisitos en varios lugares: primero en las reglas de validación y luego en la vista. El nuevo método applyRules() de Laravel para el generador de validación de contraseñas resuelve este problema al proporcionar acceso directo a las reglas de contraseña aplicadas actualmente. Veamos cómo funciona:
// En tu controlador
return view('auth.register', [
'appliedRules' => Password::default()->appliedRules(),
]);
El método applyRules() devuelve un array con todas las reglas de contraseña disponibles y su estado actual (verdadero si se aplica, falso o un valor específico si no).
#Ejemplo práctico
Este método es particularmente útil para crear listas dinámicas de requisitos de contraseña que se sincronizan automáticamente con sus reglas de validación reales:
// En tu AppServiceProvider o en cualquier service provider
Password::defaults(function () {
return Password::min(8)
->mixedCase()
->numbers()
->uncompromised();
});
// En tu controlador
class RegisterController extends Controller
{
public function create()
{
return view('auth.register', [
'appliedRules' => Password::default()->appliedRules(),
]);
}
}
Luego, en la vista Blade, puedes mostrar dinámicamente los requisitos:
<div class="password-requirements">
<h4>Password must:</h4>
<ul>
<li class="{{ $appliedRules['min'] ? 'text-gray-900' : 'text-gray-400' }}">
Be at least {{ $appliedRules['min'] }} characters long
</li>
@if ($appliedRules['mixedCase'])
<li>Include both uppercase and lowercase letters</li>
@endif
@if ($appliedRules['numbers'])
<li>Include at least one number</li>
@endif
@if ($appliedRules['symbols'])
<li>Include at least one symbol</li>
@endif
@if ($appliedRules['uncompromised'])
<li>Not be found in any known data breaches</li>
@endif
</ul>
</div>
Al aprovechar el método applyRules(), puede crear una experiencia de usuario más coherente donde su interfaz refleje con precisión sus requisitos de validación reales.
Fuente: Harris Raftopoulos
Artículos relacionados
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión