javascript - Joi - 默认设置所需的一切?

标签 javascript node.js validation joi

我正在构建 Node/Express API 并使用 Joi 进行验证。这是一个很棒的包并且非常有用。然而,我们已经厌倦了做这样的事情:

const mySchema = joi.object({
    thing1: joi.string().required(),
    thing2: joi.string().required(),
    thing3: joi.string().required(),
    thing4: joi.string().required(),
    thing5: joi.string().required(),
}).required();

我们希望默认情况下需要一切,并手动调用.可选来覆盖它。事实上,这似乎是一个明智的默认设置 - 但现在先把它放在一边。

有办法实现吗?

最佳答案

您可以使用presence选项将字段设为默认必填。示例:

const mySchema = joi.object({
    thing1: joi.string(),
    thing2: joi.string(),
    thing3: joi.string(),
    thing4: joi.string(),
    thing5: joi.string(),
}).options({ presence: 'required' }).required();

关于javascript - Joi - 默认设置所需的一切?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55949766/

相关文章:

javascript node.js next()

validation - 嵌套验证器只能与成员表达式一起使用

javascript - 在段落中显示 Angular 4 电子邮件验证文本

javascript - 对象方法中的局部变量音频不播放

javascript - Google Canary - 在 Macbook Air OSX 10.9.4 上出现错误

javascript - on ("click",function()) 和 onclick ="function();"有什么区别?

node.js - Node.js 模块 'time' 的时区问题

javascript - Bootstrap 模态不会成为切换时的事件元素,背景滚动但模态不滚动

javascript - 在express.Router()中渲染 View

hibernate - 由 : javax. validation.ConstraintViolationException 引起:类验证失败