如何为joi-objectid提供界面?

时间:2019-03-15 09:54:03

标签: javascript typescript joi

我正在使用joi验证对象的架构。对于objectid验证,joi具有单独的软件包joi-objectid。我正在使用它进行对象ID验证。但是最近,当我尝试将我的代码迁移到打字稿中时,joi抛出了一个错误,表明在joi上不存在objectid。由于它是在运行时添加的,因此我们无法获取参考。我该如何覆盖joi类型,以便它支持objectid函数。

2 个答案:

答案 0 :(得分:2)

Joi已更新。在新版本中,joi-objectid不起作用。 :( 您可以试试看。

https://www.npmjs.com/package/joi-oid

答案 1 :(得分:1)

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

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);
};