I have listen alot about hapi api framework, so i started with it. Although documentation is very solid but still i am not able to solve my issue:
I am trying to send some form data and want that to be validated before actual processing, so i am using hapi's powerful validation utility and getting following error:
←[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)
my code looks like following:
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()
}
}
}
});
Please point out where is the mistake.
After an hour of debug and just after reviewing my own question, i found how silly mistake i did, the key is not 'validation' but it is 'validate'.
So corrected code looks like:
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()
}
}
}
});