不允许验证-hapi-js



我听了很多关于hapi-api框架的内容,所以我从它开始。虽然文档很扎实,但我仍然无法解决我的问题:

我正在尝试发送一些表单数据,并希望在实际处理之前对其进行验证,所以我使用了hapi强大的验证实用程序,并得到了以下错误:

←[31m
[1] validation is not allowed←[0m
    at Object.exports.assert (E:repositorysimpleHapiAppnode_moduleshapinode
_moduleshoeklibindex.js:425:11)
    at Object.exports.assert (E:repositorysimpleHapiAppnode_moduleshapilib
schema.js:15:10)
    at new module.exports.internals.Route (E:repositorysimpleHapiAppnode_modu
leshapilibroute.js:46:12)
    at E:repositorysimpleHapiAppnode_moduleshapilibrouter.js:110:25
    at Array.forEach (native)
    at E:repositorysimpleHapiAppnode_moduleshapilibrouter.js:107:17
    at Array.forEach (native)
    at internals.Router.add (E:repositorysimpleHapiAppnode_moduleshapilibr
outer.js:104:13)
    at internals.Server._route (E:repositorysimpleHapiAppnode_moduleshapili
bserver.js:471:18)
    at internals.Server.route (E:repositorysimpleHapiAppnode_moduleshapilib
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()
            }
        }
    }
});

请指出错误在哪里。

经过一个小时的调试,刚刚复习完自己的问题,我发现自己犯的错误有多愚蠢:关键不是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()
            }
        }
    }
});

最新更新