Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

136
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda