Как использовать экспресс-валидатор в nodeJs? - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь использовать экспресс-валидатор в моем примере для nodeJ,
Я пытаюсь проверить правильность имени пользователя и пароля,
имя пользователя должно быть адресом электронной почты и
пароль должен содержать не менее 5 символов.
Я использую пример из официального документа

Ниже приведен пример кода, который я пытаюсь запустить -

const express = require('express');
const app = express();
const { check, validationResult } = require('express-validator/check');

app.use(express.json());

app.all('/*', function (req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header('Access-Control-Allow-Methods', "GET, POST, PUT, PATCH, DELETE, OPTIONS");
  res.header("Access-Control-Allow-Headers", 'Content-Type, Accept, X-Access-Token');

  if (req.method == 'OPTIONS') {
      res.status(200).end();
  } else {
      next();
  }
});

app.post('/user', [
  // username must be an email
  check('username').isEmail(),

  // password must be at least 5 chars long
  check('password').isLength({ min: 5 })
], (req, res) => {

  // Finds the validation errors in this request and wraps them in an object with handy functions
  const errors = validationResult(req);

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

  User.create({
    username: req.body.username,
    password: req.body.password
  }).then(user => res.json(user));

});

var server = app.listen(8085, function () {
  var host = server.address().address
  var port = server.address().port
  console.log("Example app listening at http://%s:%s", host, port)
});

Ниже приведена ошибка, которую я получаю при вызове API с помощью POSTMAN -
enter image description here

По какой-то причине проверка завершается неудачно, несмотря на передачу действительного электронного адреса в качестве имени пользователя и пароля длиной 5 символов,
В чем ошибка, может кто-нибудь помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...