如何为 joi-objectid 提供接口?

kri*_*hna 3 javascript typescript joi

我正在使用 joi 来验证我的对象的架构。对于 objectid 验证 joi 有一个单独的包joi-objectid。我用它来验证 objectid。但最近,当我尝试将代码迁移到 typescript joi 时,会抛出一个错误,指出 joi 上不存在 objectid。由于它是在运行时添加的,我们无法获取引用。我如何覆盖 joi 类型以使其支持 objectid 函数。?

小智 8

我必须将其添加到单独的文件中。

import Joi from "joi";
import JoiObjectId from "joi-objectid";
const myJoiObjectId = JoiObjectId(Joi);

export const validateFixture = (input: object) => {
const schema = {
    home: myJoiObjectId().required(),
    away: myJoiObjectId().required(),
    date: Joi.date(),
    score: Joi.object(),
    stadium: Joi.string().required(),
    played: Joi.boolean()
  };

  return Joi.validate(input, schema);
};
Run Code Online (Sandbox Code Playgroud)