I'm trying to use https://github.com/hapijs/joi to do nested array of object validation, my code as below (playground here)
const Joi = require("@hapi/joi")
const schema = Joi.array().required().items(
Joi.object().required().keys({
name: 'room_range',
value: Joi.object({
min: Joi.number().required(),
max: Joi.number().min(Joi.ref('min')).required()
})
}),
Joi.object().required().keys({
name: 'anything',
value: Joi.object({
min: Joi.number().required(),
max: Joi.number().min(Joi.ref('min')).required()
})
}),
)
const result = schema.validate([
{
name: 'room_range',
value: {
min: 'dddd',
max: 2
}
},{
name: 'anything',
value: {
min: 1,
max: 2
}
}
]);
console.log('error: ', result.error);
I got this error
exports.ValidationError: "value" does not contain 1 required value(s)
Then the frontend will not be able to know by the error msg.