Вам не нужно использовать пакет проверки схемы, такой как Joi.
Но было бы хорошо использовать оба из них. Они дополняют друг друга.
Joi используется для API, чтобы убедиться, что данные, которые отправляет клиент, действительны. И схема mon goose используется, чтобы гарантировать, что наши данные находятся в правильной форме.
Сценарий, в котором проверка API с Joi имеет смысл:
У нас обычно есть sh пароль пользователя, поэтому в нашей пользовательской схеме параметр пароля maxlength
может намного превышать фактическую длину пароля. Таким образом, с помощью Joi мы можем проверить поле пароля, чтобы оно не превышало, например, 10 символов в маршруте входа в систему.
Сценарий, в котором имеет смысл проверка схемы mon goose:
Допустим, клиент отправил действительные данные, возможно, мы забыли установить свойство при создании документа. Если бы у нас не было опции required: true
в схеме mon goose для этого поля, документ был бы создан без этого поля.
Также проверка данных клиента в кратчайшие сроки полезна для безопасности и производительности перед попаданием в базу данных.
Единственным недостатком использования обоих является некоторое дублирование проверки. Но, похоже, они создали пакет joi goose для создания схемы mon goose из схемы Joi.