javascript - Joi 验证 - 不允许空对象

标签 javascript node.js joi

通过 HTTP 请求,我从客户端收到以下正文:

{
    a: string,
    b: string,
    c: string
}

我想用 joi 验证它们,所以我这样做:

const MySchema = Joi.Object<MyModel>().keys({
    a: Joi.string().alfanum().min(1).max(150).optional(),
    b: Joi.string().alfanum().min(1).max(150).optional(),
    c: Joi.string().alfanum().min(1).max(150).optional(),
}).required()

这允许空对象。

我怎么能告诉 joi 不允许空对象?我希望主体请求具有这些键中的至少一个。目前我还没有找到解决方案。

我知道我可以在 API 中处理它,但我不想编写无用的代码。

谢谢!

最佳答案

我解决了

Joi.object<MyModel>.keys({/*My keys*/}).required().min(1)

关于javascript - Joi 验证 - 不允许空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67034629/

相关文章:

node.js - 如何将类型与模块一起导出?

javascript - 为什么我的方法没有将结果推送到我的阵列?

javascript - 从 $scope 中的数组中删除并更新页面上的 html

json - 如何将已解决的 promise 值传递给另一个函数?

javascript - Joi - 同一对象的引用值

validation - Joi 对象验证 : How to validate values with unknown key names?

feathersjs - Joi 验证 feathersjs

javascript - EXTJS5 MVVM : Get global controller from view controller

javascript - 在 Knockout View 模型定义之外设置属性值

node.js - 如何在 Sequelize 中创建表以使用 Node JS 存储在 Postgresql 中