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

231
Vistas
Validación del correo electrónico existente en la base de datos de la tabla (sql), node.js

Tengo un formulario web de donde extraigo datos. El campo único debe ser el correo electrónico, pero si repito el correo electrónico, mi formulario se rompe y arroja un error, no sé cómo evitar que mi formulario se rompa, solo quiero un error. conectándose nuevamente a la base de datos usando npm start. Estoy buscando una validación o algo, soy principiante en node.js y trabajo con js

 connection.query( "SELECT * FROM `employees` WHERE `email`= ?", [employee.email], function (err, row) { if (err) throw err; else { if (row && row.length) { error.push("Email already exists!"); //this does nothing return console.log("Email is existing already!"); } } } ); if(error.length === 0){ // insert data in the table } else { res.status(400).send(error); console.log("Error"); }

Quiero error.push("¡El correo electrónico ya existe!"); para modificar mi matriz de errores para que no ingrese en el primer if (error.length === 0)

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

0

connection.query es una función asíncrona. Entonces, error.push ocurre después de su if .

Soluciones posibles -

  1. Mueva el código adicional a la función de devolución de llamada
  2. Crea una Promesa y resuélvela en la función, también conocida como el uso del sistema async/await . Función de ejemplo:
 const executeQuery = (con, query, params = null) => { return new Promise((resolve, reject) => { con.query(query, params, (err, res) => { if (err) { reject(err); return } resolve(res); }); }) };

Puede ejecutar esto, y puede decir await executeQuery(con,query,param) y continuar desde allí.

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