Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

138
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!