node.js - 在不配置验证器的情况下无法设置未编译的验证规则
问题描述
我已经下载了一个学习项目,所以它不是我的代码,但是当我想启动它时出现此错误。我尝试自己调试一点,但由于我是 Nodejs 新手,所以这里有问题......
Error: Cannot set uncompiled validation rules without configuring a validator
at Object.module.exports.register (/home/antonp/Desktop/pizza-luvrs/routes/index.js:25:10)
at startServer (/home/antonp/Desktop/pizza-luvrs/index.js:12:10)
这是完整项目的链接。Github 仓库
index.js
const Hapi = require('@hapi/hapi')
const plugins = require('./plugins')
const routes = require('./routes')
async function startServer () {
const server = Hapi.Server({
port: process.env.PORT || 3000
})
await plugins.register(server)
routes.register(server)
try {
await server.start()
console.log(`Server running at: ${server.info.uri}`)
} catch (err) {
console.error(`Server could not start. Error: ${err}`)
}
}
process.on('unhandledRejection', err => {
console.log(err)
process.exit()
})
startServer()
解决方案
您的问题是由于hapi 的变化。尝试在 Pizza-luvrs-master/routes/login.post.js 中更改以下代码
validate: {
payload: {
username: Joi.string().alphanum().min(3).max(30).required(),
password: Joi.string().min(3).max(30).required()
}
}
到
validate: {
query:Joi.object({
username: Joi.string().alphanum().min(3).max(30).required(),
password: Joi.string().min(3).max(30).required()
})
}
推荐阅读
- c# - 如何在位置的控制台窗口中写入信息
- post - UWP POST 请求,如 GET
- javascript - 清除 redux 表单字段 (DatePicker) onclick 'x'
- cassandra - 什么时候在 Cassandra 中使用 SizeTieredCompaction 压缩 SSTables?
- sql-server - 找不到包 mssql-server
- appium - Appium可以切换wifi网络吗?
- c++-winrt - C++/WinRT 是否提供帮助函数来从字符串文字构造 GUID?
- php - 在 MySQL 插入上使用 multipart/form-data 的奇怪行为
- ios - UINavigationController - 如何更改单个 UIViewController 的动画
- web-scraping - 下载整个网页并将它们保存为带有 urllib.request 的 html 文件