javascript 中的简单 joi 验证片段。当验证失败时,它将简单地返回一个错误对象。
验证.js
const Joi =require("joi");
function validateObject (input) {
const schema = {
key: Joi.string().required(),
};
return Joi.validate(input, schema);
};
let {error} = validateObject({key:5})
console.log(error)
现在我正在学习打字稿,并喜欢在 TS 中执行确切的功能。我知道 Joi 是一个 javascript 库,但我们可以在打字稿中使用它吗?在探索时,我遇到了一些替代方案,例如 https://github.com/快乐-ts/快乐。
我很想知道是否有 直接在 typescript 中使用 Joi 的直接 方法。或者做一点点改变,让 Joi 像在 Javascript 中一样工作。
我试过什么
验证.ts
import * as Joi from "joi";
export const validateObject = (input: object) => {
const schema = {
home: Joi.string().required(),
};
return Joi.validate(input, schema);
};
validateObject({key:5})
编译时,我得到了错误
找不到名称“可迭代”。
703 map(iterable: Iterable<[string | number | boolean | symbol, symbol]> | { [key: string]: symbol }): 这个;
更新
我已经按照答案中的建议安装了@types/joi,但仍然出现相同的错误
我基本上是在寻找验证字符串、布尔值、数字、数组和对象键,因为它可以使用 Javascript 中的 Joi 轻松完成
原文由 Sathya Narayanan GVK 发布,翻译遵循 CC BY-SA 4.0 许可协议
请更改您的导入
并确保您已经使用安装了类型