我很难理解为空和/或缺少的数组键提供默认值的语法。
Joi.object({
items: Joi.array().empty([]).items(Joi.number()).default([42]),
})
{
items: []
}
or
{
}
在这两种情况下,我都希望[42]
的默认值被替换到对象中。我假设我必须以某种方式指示空数组是无效的,但我不确定如何指示。我也尝试过在项上设置min(1)
,但也不起作用(它将对象标记为无效,但不替换默认值(。
对不起,发布得太早了。这项工作:
Joi.object({
items: Joi.array().optional().empty(Joi.array().length(0)).default([42]),
})