Як зробити перевірку введення простою та чистою у вашому додатку

Шайлеш Шехават

зробити

Навіщо нам потрібна перевірка на стороні сервера?

  • Вашої перевірки на стороні клієнта недостатньо, і вона може бути порушена
  • Більш схильний до Man в середніх атаках, і сервер ніколи не повинен довіряти стороні клієнта
  • Користувач може вимкнути перевірку JavaScript на стороні клієнта та маніпулювати даними

Якщо ви створювали веб-додатки, використовуючи фреймворк Express або будь-який інший фреймворк Node.js, перевірка відіграє вирішальну роль у будь-якому веб-додатку, який вимагає перевірки запиту параметра тіла тіла запиту .

Написання власної функції проміжного програмного забезпечення може бути громіздким, якщо

  • ви хочете рухатися швидко, зберігаючи якість коду або
  • Ви хочете уникати використання якщо (вказівка.тіло.голова) або якщо (вказівка.params.isCool) у вашій головній функції контролера, де ви визначаєте бізнес-логіку

У цьому підручнику ви дізнаєтеся, як перевірити введення в додатку Express.js за допомогою відкритого вихідного коду та популярного модуля, який називається express-validator.

Вступ до експрес-валідатора

Визначення Github говорить:

Модуль реалізує п’ять важливих API:

  • Перевірте API
  • API фільтра
  • API санітарної ланцюга
  • API ланцюжка перевірки
  • API результатів перевірки

Давайте поглянемо на основний маршрут користувача без будь-якого модуля перевірки для створення користувача: /route/user.js

Тепер у користувацькому контролері /controllers/user.js

Наведений вище код - лише базовий приклад перевірки полів самостійно.

Ви можете обробляти деякі перевірки у вашій користувацькій моделі за допомогою Mongoose. Для найкращих практик ми хочемо переконатися, що перевірка відбувається перед діловою логікою.

експрес-валідатор подбає про всі ці перевірки та санітарію вхідних даних.

Встановлення

Включати модуль у вашому основному файлі server.js:

Тепер, використовуючи express-validator, ваш /routes/user.js буде виглядати так:

Тут userController.validate - це функція проміжного програмного забезпечення, яка пояснюється нижче. Він приймає назву методу, для якого буде використовуватися перевірка.

Давайте створимо функцію проміжного програмного забезпечення validate () у нашому /controllers/user.js: