Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

152
Vistas
Debo mostrar un mensaje de error cada vez que un usuario ingresa una cadena que no coincide con ningún elemento en la matriz del usuario

Cuando uso else if para mostrar un mensaje de error, dice "nombre de usuario incorrecto" incluso cuando el nombre de usuario es correcto pero la contraseña es incorrecta. Excepto por el último nombre de usuario en la matriz "usuario".

Pero cuando elimino el else if no hace nada cuando un usuario ingresa el nombre de usuario incorrecto.

Creo que el ciclo for está creando ese problema. ¿Estoy usando el bucle equivocado para el propósito equivocado? ¿Qué tengo que hacer?

Enlace de Codesandbox https://codesandbox.io/s/nervous-moser-ybvwb3?file=/src/App.js:1066-1203

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En primer lugar, no debería tener sus credenciales codificadas en el front-end de esa manera. Cualquiera podría simplemente leer el código y entrar.

Dicho esto, debe interrumpir el ciclo cuando se encuentra el nombre de usuario:

 if (usernameState === user[i]) { if (passwordState === pass[i]) { setLoginState(true); setMessageState("Login successful."); } else if (passwordState === "") { setMessageState("Enter password."); passwordinput.current.focus(); } else { setMessageState("Wrong password."); passwordinput.current.focus(); } break; }

De lo contrario, continuará procesando cada nombre de usuario ya que no se encontraron coincidencias. Realmente no usaría un bucle for para esto en absoluto. Primero debe verificar si hay una cadena vacía, luego buscar si el nombre de usuario está en su matriz, luego si lo está, verifique la contraseña. ¡Pero, de nuevo , no debería incrustar las credenciales en su código de front-end!

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda