Попытка настроить вложенную схему следующим образом.Я хочу быть в состоянии отклонить схему, если bb.c присутствует, когда aa.a присутствует.
Я пробовал без xor
{
Joi.object().keys({
aa: Joi.object().keys({
a: Joi.string(),
b: Joi.string()
}).unknown(true).with("a", "b"),
bb: Joi.object().keys({
c: Joi.string()
}).unknown(true)
}).xor( "aa.a" , ["bb.c"])
}
С приведенным ниже объектом xor завершается ошибкой с ValidationError: «значение» должно содержать хотя бы один из [aa.a, bb.c] все же aa.a существует в предоставленных значениях
{
"aa": {
"a": "fg",
"b": "fg"
},
"bb": {
"c": "l"
}
}
Если я попытаюсь
.without( "aa.a" , ["bb.c"])
, тогда схема пройдет, хотя, на мой взгляд, она не должна проходить, так как без нее должна произойти ошибка, когда bb.c присутствует вместе с aa.a
Это потому, что две вещи вложены в другие объекты, возможно?
Разве мы не можем указать такие глубоко связанные вещи?
Спасибозаранее