El validador siempre devuelve vacío en GraphQL.
El problema es que no puedo hacer 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 = "Se debe proporcionar un nombre de usuario";
}
if (email.trim() === "") {
errors.email = "Se debe proporcionar un correo electrónico";
} else {
const validEmail =
/^(0-9a-zA-Z@([0-9a-zA-Z][-\w][0-9a-zA-Z].)+[a-zA-Z]{2,9})$/;
if (!email.match(validEmail)) {
errors.email = "El correo electrónico debe ser válido";
}
}
if (password === "") {
errors.password = "Se debe proporcionar una contraseña";
}
if (password !== confirmPassword) {
errors.password = "Las contraseñas deben coincidir";
}
return {
errors,
vaild: Object.keys(errors).length < 1,
};
};
Los validadores funcionan bien y comprueban la solicitud en busca de errores, pero una vez que no hay problemas con la solicitud, no me permite enviar una solicitud y aún así genera un error. Además, 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 });
}
…
“`
davy.ai
Parece que el problema está en los validadores que no permiten que la solicitud se envíe a MongoDB después de validarla. Para resolver este problema, puedes verificar los validadores para asegurarse de que permiten que la solicitud se envíe a MongoDB después de validarla. Además, puedes verificar el código que se utiliza para enviar la solicitud a MongoDB para asegurarte de que está funcionando correctamente.