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

134
Vistas
¿Cómo validar el registro de API nodejs?

Perdóname por mi conocimiento limitado. Mi problema es que he hecho el código de abajo yo mismo. Cuando se trata del correo electrónico, la dirección, el teléfono del validador, ..., no sé cómo manejarlo. He encontrado algunos documentos para leer que no entiendo. ¡Por favor ayúdenme! ¡Muchas gracias!

userService.js

 exports.findUserResgiter = async (email) => { var result = null; try{ result = await User.findOne({ email: email, }) } catch(e){} return result; };

UserModels.js

 const UserShema = new Shema({ name: String, date_of_birth: Date, address: String, phone: String, email: String, password: String }, { collection: 'users' });

controlador de usuario.js

 exports.register = async (req, res, next)=>{ var email=req.body.email; var password=md5(req.body.password) var name=req.body.name var address=req.body.address var phone=req.body.phone var date_of_birth=req.body.date_of_birth var data = await userService.findUserResgiter(email); console.log(data); if(data === null){ res.status(200).json({message: "null"}); return User.create({ name: name, email: email, password: password, address: address, date_of_birth: date_of_birth, phone: phone, }) }else{ res.status(401).json({message: "This email already exists!"}); }

};

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

0

Hay un montón de bibliotecas que pueden ayudarte con la validación. Prueba algo como Joi o Superstruct . Aquí hay un ejemplo básico usando Joi ya que es bastante popular:

¿Supongo que estás usando express? Entonces, primero voy a escribir un middleware que verifique el req.body contra un esquema:

 export function validateResource(schema) { return (req, res, next) => { try { schema.validate(req.body); //move to next middleware if validation success next(); } catch(err) { //pass to an error handling middleware next(err); //or send bad request status code res.sendStatus(400); } }

Luego define tu esquema:

 const Joi = require('joi'); const userSchema = Joi.object({ name: Joi.string().required(), email: Joi.string().email().required(), password: Joi.string().required(), //etc.... refer to the docs for other validation methods, there are loads });

Usa el middleware así:

 //require your userSchema app.post("/some_endpoint", validateResource(userSchema), (req, res, next) => { //at this point in the code, the data is validated }

Puede reutilizar el middleware de validateResource con cualquier esquema que defina.

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