• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

240
Views
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 !

almost 3 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error