gpt4 book ai didi

javascript - 在 Joi 验证中忽略 "required"?

转载 作者:行者123 更新时间:2023-11-30 00:28:47 25 4
gpt4 key购买 nike

我正在尝试使用 Joi 来验证 RESTful 网络服务接受的数据模型。

对于创建操作,我想对字段强制执行“必需”验证。但是,对于更新操作,可能会提交部分数据对象,因此我希望忽略“必需”属性。

除了创建两个模式之外,还有其他方法可以实现这一点吗?

最佳答案

使用 .fork(),您可以传入一个包含您想要的字段的数组。

const validate = (credentials, requiredFields = []) => {

// Schema
let userSchema = Joi.object({
username: Joi.string(),
email: Joi.string().email(),
})

// This is where the required fields are set
userSchema = userSchema.fork(requiredFields, field => field.required())

return userSchema.validate(credentials)
}

validate(credentials, ['email'])

或者反其道而行之,将它们改为可选。

关于javascript - 在 Joi 验证中忽略 "required"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30383588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com