首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Joi验证器中基于对象外部的字段进行条件验证

在Joi验证器中,可以使用when方法来基于对象外部的字段进行条件验证。when方法接受两个参数:条件和验证规则。条件可以是一个Joi验证器,也可以是一个函数,用于根据对象的值来确定是否应用验证规则。

下面是一个示例,演示如何在Joi验证器中基于对象外部的字段进行条件验证:

代码语言:txt
复制
const Joi = require('joi');

const schema = Joi.object({
  type: Joi.string().valid('admin', 'user').required(),
  isAdmin: Joi.boolean(),
  email: Joi.string().email().when('type', {
    is: 'admin',
    then: Joi.required(),
    otherwise: Joi.optional()
  })
});

const data = {
  type: 'admin',
  isAdmin: true,
  email: 'admin@example.com'
};

const result = schema.validate(data);
console.log(result);

在上面的示例中,我们定义了一个包含typeisAdminemail字段的验证规则。根据type字段的值,我们决定是否需要验证email字段。如果typeadmin,则email字段是必需的,否则是可选的。

这里使用了when方法来基于type字段进行条件验证。当typeadmin时,email字段需要通过Joi.required()进行验证,否则通过Joi.optional()进行验证。

以上是一个简单的示例,你可以根据实际需求和验证规则进行调整。如果你想了解更多关于Joi验证器的信息,可以参考腾讯云的Joi验证器相关产品:Joi验证器

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2分7秒

基于深度强化学习的机械臂位置感知抓取任务

领券