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

168
Vistas
El validador siempre regresa vacío en graphql

el problema es que no puedo realizar una solicitud a MongoDB después de validar la solicitud con el siguiente código:

 module.exports.validateRegisterInput = ( username, email, password, confirmPassword ) => { const errors = {}; if (username.trim() === "") { errors.username = "Username must be provided"; } if (email.trim() === "") { errors.email = "Email must be provided"; } else { const validEmail = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/; if (!email.match(validEmail)) { errors.email = "Email must be valid"; } } if (password === "") { errors.password = "Password must be provided"; } if (password !== confirmPassword) { errors.password = "Passwords must match"; } return { errors, vaild: Object.keys(errors).length < 1, }; };

los validadores funcionan bien y verifican la solicitud en busca de errores, pero una vez que no hay ningún problema con la solicitud, no me permite enviar una solicitud y genera un error de todos modos, también estoy usando los validadores de la siguiente manera:

 module.exports = { Mutation: { async register( parent, { registerInput: { username, email, password, confirmPassword } } ) { const { valid, errors } = validateRegisterInput( username, email, password, confirmPassword ); if (!valid) { throw new UserInputError("Errors", { errors }); } ...
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Entonces, resolví el problema, el problema era que no estaba llamando a la pregunta directamente y la cambié a:

 validateRegisterInput(username, email, password, confirmPassword);

y agregar errores en los validadores y no en el índice

 const { UserInputError } = require("apollo-server"); module.exports.validateRegisterInput = ( username, email, password, confirmPassword ) => { if (username.trim() === "") { throw new UserInputError("Username must be provided", { errors: { username: "Username must be provided", }, }); } if (email.trim() === "") { throw new UserInputError("Email must be provided", { errors: { email: "Email must be provided", }, }); } else { const validEmail = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/; if (!email.match(validEmail)) { throw new UserInputError("Email must be correct", { errors: { email: "Email must be correct", }, }); } } if (password === "") { throw new UserInputError("Password must be provided", { errors: { password: "Password must be provided", }, }); } if (password !== confirmPassword) { throw new UserInputError("Passwords must match", { errors: { password: "Password must match", }, }); } };
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