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.

Crea requisitos de contraseña fáciles de usar con el método applyRules() de Laravel

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.

Antonio Jenaro
Antonio Jenaro

Web Developer

Archivado en:

Fuente: Harris Raftopoulos

Artículos relacionados

Mejorar la experiencia del usuario con mensajes de validación personalizados en Laravel
216

Mejorar la experiencia del usuario con mensajes de validación personalizados en Laravel

Validación de URL en Laravel con el método isUrl
524

Validación de URL en Laravel con el método isUrl

Validación numérica en Laravel con el método numeric
571

Validación numérica en Laravel con el método numeric

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión