Joi - 同一对象的参考值

Joi - reference value of same object

我需要参考之前的 属性 (propertyValue) 以获得另一个 属性 (loan) 的最大值。目前我尝试过:

const products = joi.object().keys({
  propertyValue: joi
    .number()
    .min(40000)
    .required(),
  loan: joi
    .number()
    .min(1)
    .max(joi.ref('propertyValue') - 1)
});

但是我收到以下错误:Error: limit must be a number or reference

并且:

joi.object().keys({
  propertyValue: joi
    .number()
    .min(40000)
    .required(),
  loan: joi
    .number()
    .min(1)
    .max(joi.template('{propertyValue - 1}'))
    .required(),
})

给出错误:Not a valid joi Schema

有什么办法可以实现吗?

谢谢

尝试使用 adjust 选项

Joi.object({
  propertyValue: Joi
    .number()
    .min(40000)
    .required(),
  loan: Joi
    .number()
    .min(1)
    .max(Joi.ref('propertyValue', {
      adjust: value => {
        return value - 1;
      }
    }))
    .required()
})

stackblitz