Вы пробовали:
const child = parent.append({
foo: Joi.string(),
myArray: parent.myArray.min(1).required()
});
Только что попробовали:
const Joi = require('joi');
const parent = {
x: Joi.array().max(10).required()
};
const child = Object.assign({}, parent, {
x: parent.x.min(1).required(),
y: Joi.string()
});
Joi.validate({
x: [],
y: 'abc'
}, child); // fails as .min(1) not satisfied
Joi.validate({
x: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
y: 'abc'
}, child); // fails as .max(10) not satisfied
Joi.validate({
x: [1],
y: 'abc'
}, child); // OK
Пробовал со свежим npm i joi
(пакет говорит: "joi": "^14.3.1"
) на узле v8.10.0.Или, может быть, приведенный вами пример слишком тривиален, чтобы отразить ваш реальный сценарий?