Мое расширенное правило joi не будет выполняться, пока все основные правила не будут положительными

мы расширили Joi с помощью функции Joi.extend (), чтобы иметь некоторые пользовательские проверки. К сожалению, это расширение будет выполнено только тогда, когда все остальные основные правила Joi окажутся положительными.

Я не хочу пока публиковать код, возможно, для этого есть общее решение, например какая-то «настройка» в Joi или распространенная ошибка использования функции extend ().

Заранее спасибо за вашу помощь.

Почему это проблема?

Ankh 13.08.2018 11:15

@Ankh: Потому что во внешнем интерфейсе будут отображаться только ошибки основных функций Joi, пока они не будут устранены. Ошибки из наших пользовательских правил также должны отображаться не только в том случае, если основные правила решены.

Jochen Kunze 15.08.2018 11:20
0
2
157
1

Ответы 1

Решил, выполнив правила отдельно. Мы построили такую ​​цепочку, где requireField - одно из наших настраиваемых правил:

const ConfSchema = Joi.customObject().keys({ ... core rules ...}).requireField(... custom rules ...);

Теперь мы переходим к шагам:

const ConfSchema = Joi.object().keys({ ... core rules ...});
const CustomConfSchema = Joi.customObject().requireField(... custom rules ...);

Другие вопросы по теме