是否有直接的方法来验证 Joi 中的多个条件

问题描述

我正在寻找的是基于与 AND 连接的两个或多个条件来验证字段。

我的架构看起来像

mySchema = joi.object({
  "field": condition1 && condition2
})

所以如果两个条件都为真,那么应该验证模式

解决方法

例如,如果您希望该字段为必填字段且至少有 3 个字符(Joi 版本 17.4.0)。

const Joi = require('joi');
    
function validateField(fieldList){
    
        const schema = Joi.object(
            {
                field: Joi.string()
                .min(3)
                .required()
            }
        )
    
        return schema.validate(fieldList);
    
    };