14

我搜索了很多,但没有发现允许进行多种类型验证Joi

链接:https ://github.com/hapijs/joi

我想使用这样的东西:

validate: {
    type: joi.or([
        joi.string(),
        joi.array(),
    ])
};
4

2 回答 2

25

尝试:

validate: {
    type: joi.alternatives().try(joi.string(), joi.array())
}

或者:

validate: {
    type: [joi.string(), joi.array()]
}

见:https ://github.com/hapijs/joi/blob/v10.1.0/API.md#alternatives

于 2017-01-04T16:37:27.250 回答
1
export const saveDeviceCommandsSchema = {
  devices: [
    Joi.array().items(Joi.string().required()).required(),
    Joi.string().valid('all').required().lowercase()
  ],
  info: Joi.array()
};

为对象指定多个验证规则的示例

于 2019-01-02T17:24:06.690 回答