У файлі спочатку підключено сам пакет. У функцію передають дані для валідації. Їх згідно з документацією Joi передають в метод validate. У метод keys ми передаємо обʼєкт з налаштуваннями валідації. У метод options передають налаштування валідації. Перевірка припиняється на першій же невідповідності, якщо ми хочемо перевірити всі параметри, то треба вказати налаштування: abortEarly: false.
А також в обробці створення контакту застосуємо перевірку. І при відпрацюванні коду виведемо в консоль параметри error і value, які повертає ця функція.
Зробимо спеціально запит з помилкою валідації:
Контакт збережеться в базу даних.
Але тепер ми можемо подивитися, що міститься в error і value.
Валідатор приймає оригінальний обʼєкт. Якщо помилки немає, то її значення буде undefined. А якщо помилка є, то можемо витягнути повідомлення або сформувати свою помилку і статус код. Також валідатор повертає обʼєкт value, який ми можемо обробляти далі після валідації.
Тож, обробимо помилку:
Перевіримо, якщо два поля з помилками формату даних:
В details буде описано всі помилки в масиві, які ми можемо обробляти.