如何禁止对象的键

How to forbid a key from object

看起来很简单,但我不知道如何添加约束以禁止 Joi 中存在密钥,请问我该怎么做。

    const data = {foo: 'xyz', bar: '123'};
    const schema = {
        foo: Joi.string(),
        // how do i forbid bar
        bar: Joi.forbid()
    };
    
    const { error } = Joi.object(schema).validate(data)

您可以简单地从对象中删除密钥:

第一种方法: delete data.bar

第二种方法: {bar,...schema}=data

使用forbiddenhttps://joi.dev/api/?v=17.4.2#anyforbidden

const schema = {
    a: Joi.any().forbidden()
};