Проверка Joi на полезную нагрузку, где значение name имеет дефис - PullRequest
1 голос
/ 10 февраля 2020

Как сказано в заголовке, я не могу получить подтверждение joi для работы со значением в моей полезной нагрузке с гипеном в его имени. Значение называется «тип поиска». Моя проверка выглядит следующим образом:

  options: {
    validate: {
      payload: joi.object({
        value1: joi.string().required(),
        value2: joi.string().required(),
        search-type: joi.string().required()
      }),
      failAction: (request, h, err) => {
        return h.redirect('/search').takeover()
      }
    }
  }

Я пытался поставить имя в квадратных скобках, например

 options: {
   validate: {
     payload: joi.object({
       value1: joi.string().required(),
       value2: joi.string().required(),
       searchType:['search-type'] joi.string().required()
     }),
     failAction: (request, h, err) => {
       return h.redirect('/search').takeover()
     }
   }
 }

, но «joi». после того, как он вспыхивает в помете и говорит «Джой». такое неожиданный токен?

1 Ответ

1 голос
/ 10 февраля 2020

Используйте

 options: {
   validate: {
     payload: joi.object({
       value1: joi.string().required(),
       value2: joi.string().required(),
       'search-type': joi.string().required()
     }),
     failAction: (request, h, err) => {
       return h.redirect('/search').takeover()
     }
   }
 }

Поскольку это Джой, я предполагаю, что вам не нужно обращаться к этому свойству где-либо еще, но вы бы сделали это с options.validate['search-type'], а не с options.validate.search-type как * 1006. * будет интерпретироваться как оператор вычитания.

...