He estado tratando de implementar la siguiente lógica:
if methods array includes object { type: 0 }
then el campo de grado es requerido
de else , el campo de calificación es opcional
const methodTypeSchema = Joi.object({ type: Joi.number(), }); export const schema = Joi.object({ methods: Joi.array().items(methodTypeSchema), grade: Joi.string().when('methods', { is: Joi.array().has(Joi.object({ type: 0 })), then: Joi.required(), otherwise: Joi.optional(), }), });Estaré agradecido por la ayuda.
hm, ahora parece funcionar... mi error fue que en lugar de Joi.string() por defecto usé algunas funciones personalizadas