Protocolo 15: El guardián lógico
Medio
validation
objects
logic
📖Historia
🛡️ Transmisión de Zeew_15 iniciada…
El Guardián Lógico protege el acceso al Núcleo. Solo permite el paso a datos que cumplan múltiples reglas simultáneamente. Una sola violación y el acceso es denegado.
"La lógica no admite medias verdades."
Debes crear un validador complejo que evalúe si un usuario cumple todos los requisitos de acceso.
🎯Enunciado
🎯 Objetivo
Crea una función validateUser(user) que valide un objeto de usuario contra las siguientes reglas:
username: string, longitud entre 3 y 20 caracteresage: número, mayor o igual a 18email: string, debe contener "@" y "."role: string, debe ser "admin", "user" o "guest"
📋 Especificaciones
- Si todas las reglas se cumplen, retorna
{ valid: true, errors: [] } - Si hay errores, retorna
{ valid: false, errors: [...] }con los mensajes de error - Los mensajes de error deben ser:
"username inválido""age inválido""email inválido""role inválido"
💡 Ejemplos
validateUser({
username: "zeew",
age: 25,
email: "zeew@space.com",
role: "admin"
}); // { valid: true, errors: [] }
validateUser({
username: "ab",
age: 15,
email: "invalid",
role: "hacker"
}); // { valid: false, errors: ["username inválido", "age inválido", "email inválido", "role inválido"] }
✅Casos de prueba
Tu solución será validada contra 4 casos de prueba
Test 1: Usuario válido
Test 2: Todos los campos inválidos
Test 3: Usuario guest válido
... y 1 casos más
💻 Editor de código
JavaScript
Cargando editor...
Loading...