【问题标题】:how to give interface for joi-objectid?如何为 joi-objectid 提供接口?
【发布时间】:2019-08-06 08:55:09
【问题描述】:

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

【问题讨论】:

标签: javascript typescript joi


【解决方案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);
};

【讨论】:

  • 这给出了一个错误,因为没有包@types/joi-objectid
  • 您可以查看npmjs.com/package/joi-objectid,而不是立即调用,而是使用定义的变量。告诉我它是否适合你。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 2015-06-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多