2014-08-30 5 views
0

Я слышал много о hapi api framework, поэтому я начал с него. Хотя документация очень прочная, но все еще я не могу решить свою проблему:валидация не допускается - hapi js

Я пытаюсь отправить некоторые данные формы и хочу, чтобы это было проверено до фактической обработки, поэтому я использую мощную утилиту проверки hapi и получаю следующую ошибку :

←[31m 
[1] validation is not allowed←[0m 
    at Object.exports.assert (E:\repository\simpleHapiApp\node_modules\hapi\node 
_modules\hoek\lib\index.js:425:11) 
    at Object.exports.assert (E:\repository\simpleHapiApp\node_modules\hapi\lib\ 
schema.js:15:10) 
    at new module.exports.internals.Route (E:\repository\simpleHapiApp\node_modu 
les\hapi\lib\route.js:46:12) 
    at E:\repository\simpleHapiApp\node_modules\hapi\lib\router.js:110:25 
    at Array.forEach (native) 
    at E:\repository\simpleHapiApp\node_modules\hapi\lib\router.js:107:17 
    at Array.forEach (native) 
    at internals.Router.add (E:\repository\simpleHapiApp\node_modules\hapi\lib\r 
outer.js:104:13) 
    at internals.Server._route (E:\repository\simpleHapiApp\node_modules\hapi\li 
b\server.js:471:18) 
    at internals.Server.route (E:\repository\simpleHapiApp\node_modules\hapi\lib 
\server.js:465:10) 

мой код выглядит следующим образом:

server.route({ 
    method: 'POST', 
    path: '/apis/login', 
    handler: empApi.login, 
    config:{ 
     validation:{ 
      payload: { 
       username: joi.string().min(3).max(20).required(), 
       password: joi.string().alphanum().required() 
      } 
     } 
    } 
}); 

Пожалуйста, укажите, где находится ошибка.

ответ

4

После часа отладки и сразу после рассмотрения моего собственного вопроса, я обнаружил, как глупо ошибка, которую я сделал: ключ не validation, но это validate.

Так, однажды исправлен, код выглядит следующим образом:

server.route({ 
    method: 'POST', 
    path: '/apis/login', 
    handler: empApi.login, 
    config:{ 
     validate:{ 
      headers: { 
       username: joi.string().min(3).max(20).required(), 
       password: joi.string().alphanum().required() 
      } 
     } 
    } 
});