NodeJS joi возвращает error = null, даже если ошибка должна возникнуть - PullRequest
0 голосов
/ 24 мая 2018

Я использую NodeJS с joi и пытаюсь проверить объект конфигурации IBM Watson IoT.Это моя схема:

const schema = {
  body: {
    config: Joi.object().keys({
      org: Joi.string().required(),
      type: Joi.string().required(),
      id: Joi.string().required(),
      domain: Joi.string().required(),
      'auth-method': Joi.string().required(),
      'auth-token': Joi.string().required()
    }).required()
  }
};

И это моя проверка:

Joi.validate(req.body, schema, { allowUnknown: true }, (err, value) => {
  console.log(err);
});

Возвращает null как error, что указывает на отсутствие ошибки, но это даже если у меня нет't POST изменил все параметры моего тела.

По сути, я хочу убедиться, что body моего HTTP POST содержит действительный объект JSON, например:

config = {
    "org" : "organization",
    "id" : "deviceId",
    "domain": "internetofthings.ibmcloud.com",
    "type" : "deviceType",
    "auth-method" : "token",
    "auth-token" : "authToken"
};

1 Ответ

0 голосов
/ 08 июня 2018

Вы не передаете объект Joi в функцию проверки, вы должны передать schema.body.config вместо schema.Если предполагается, что body и config являются частью проверки, вы должны заключить их в Joi.Object так же, как вы делали это для всех ключей внутри config.

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