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

306
Vistas
Express Validator Schema add sequence custom validator

Is there anyway to add sequence check for userName

here is my schema validator:

const validatorSchema = {
 userName: {
    custom: {
      options: (value) => {
        if (dataUtils.isEmpty(value) || value === null) {
          return false;
        }
      },
      errorMessage: "userName field is empty",
    },
    custom: {
      options: (value) => {
        return User.findOne({
          where: {
            userName: value,
          },
        }).then((user) => {
          if (user == null) {
            return true;
          } else {
            return Promise.reject(user);
          }
        });
      },
      errorMessage: "User already existed",
    },
    custom: {
      options: (value) => {
        if (dataUtils.whiteSpaceChecker(value) && value != null) {//not allow whiteSpace between
          return false;
        }
      },
      errorMessage: "Wrong format userName",
    },
   
  },
}

My request body:

{
 "userName": "notExistedUser",
 "password": "samplePassword"
}

I do it by following this tutorial
But I want do more than check Existed User only and it didn't work as expected
Response always send

"errors": [
                {
                    "value": "notExistedUser",
                    "msg": "Wrong format userName",
                    "param": "userName",
                    "location": "body"
                }
          ]

Note: I use this schema in middleware

const { body, checkSchema, validationResult } = require("express-validator");

app.post('/signup', checkSchema(validatorSchema), (req, res) => {
    // Validate incoming input
    const errors = validationResult(req);

    if (!errors.isEmpty()) {
        return res.status(400).json({
            errors: errors
        });
    }

    next();
})

Thanks for reading this article,I hope can reach the solution for this !

about 4 years ago · Juan Pablo Isaza
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