Validation 基于其他两个字段的Joi字段值评估

Validation 基于其他两个字段的Joi字段值评估,validation,joi,Validation,Joi,我不确定是否可以在验证块本身中执行此操作,但我正在尝试 我有类似的东西 body: joi.object({ AssignedUser: joi.string().allow('').optional().default('').description('userName'), fromLocation: joi.string().required().description('From Location'), toLocation: joi.string().required()

我不确定是否可以在验证块本身中执行此操作,但我正在尝试

我有类似的东西

body: joi.object({
  AssignedUser: joi.string().allow('').optional().default('').description('userName'),

  fromLocation: joi.string().required().description('From Location'),
  toLocation: joi.string().required().description('To Location'),
})

我的问题是,当
fromLocation
toLocation
的值相等时,请使用传递给
AssignedUser
的值,否则将其设置为空字符串“”

我该怎么做呢

我尝试将函数参数传递给

AssignedUser: joi.string().allow('').optional().default(() => {return fromLocation === toLocation? AssignedUser: ''}, 'description').description('userName')
我的问题是,只有当
assignedUser
为空时,才会执行此默认块代码,但我希望每次都执行此代码块,并基于
fromLocation
toLocation
计算值

有什么帮助吗