我需要使用一个动态对象来验证值。该对象会定期更改,因此我在运行时将其下载,并在本地将其保存为格式良好的.json文件。我需要将这些值提供给对Joi.validate的调用(通过“context”选项),并验证数组中的项是否与context对象中的某个键/值对匹配。 // the defined schema
const schema = Joi.object().keys({
'foo': Joi.array()
.unique()
.items(
// these items need to match the keys/values fro
我一直在尝试在我们的节点应用程序中实现Joi (joi作为独立应用程序,而不是使用hapi),它似乎正确地验证了模式,但错误总是相同的
[ValidationError: value must be an object]
name: 'ValidationError',
details:
[ { message: 'value must be an object',
path: 'value',
type: 'object.base',
context: [Object] } ],
_object:.....
因此,我试图验证我的帖子请求的数据。为此,我想使用乔依,但似乎有什么东西,我错过了什么地方。
这是我的帖子请求:
app.post('/new-comp', async (req: any, res: any) => {
const validation = schemaComp.validate(req.body)
// need to declare an if/else statement to manage the error
// for now, console.logs the info that data is not valid
cons
我正在获取一个对象数组到后端,其中每个对象都包含一个服务名称。该结构如下所示
[{"serviceName":"service1"},
{"serviceName":"service2"},..]
当我在后端获得数组时,我想验证数组中的每个对象都有serviceName属性。
我已经写了下面的代码,但即使我传递了有效的数组,我也得到了验证错误。
var Joi = require('joi');
var service = Joi.object().keys({
serviceName: Joi.string(
我不明白为什么我收到导入了"@hapi/joi":"^17.0.0“和”@ Property 'validate' does not exist on type 'Root'.ts(2339) /hapi__joi“:"^16.0.6”的错误类型和Parameter 'err' implicitly has an 'any' type.ts(7006)。 import Joi from '@hapi/joi';
import { NextFunction, Request, Res