Как проверить данные с помощью модуля joi в Node.js?

Опубликовано: 2 Августа, 2021

Модуль Joi - популярный модуль для проверки данных. Этот модуль проверяет данные на основе схем. Существуют различные функции, такие как optional (), required (), min (), max () и т. Д., Которые упрощают использование и являются удобным модулем для проверки данных.
Вступление:

  1. Легко начать и легко использовать.
  2. Это широко используемый и популярный модуль для проверки данных.
  3. Он поддерживает проверку на основе схемы.

Установка модуля joi:

  1. Вы можете посетить ссылку Установить модуль joi. Вы можете установить этот пакет с помощью этой команды.
     npm установить joi
  2. После установки multer вы можете проверить свою версию joi в командной строке с помощью команды.
     npm ls joi
  3. После этого вы можете просто создать папку и добавить файл, например index.js. Чтобы запустить этот файл, вам необходимо выполнить следующую команду.
     узел index.js
  4. Требуемый модуль: вам необходимо включить модуль joi в свой файл, используя эти строки.
     const Joi = require ('joi');

Имя файла: index.js

javascript




const Joi = require( 'joi' )
//User-defined function to validate the user
function validateUser(user)
{
const JoiSchema = Joi.object({
username: Joi.string()
.min(5)
.max(30)
.required(),
email: Joi.string()
.email()
.min(5)
.max(50)
.optional(),
date_of_birth: Joi.date()
.optional(),
account_status: Joi.string()
.valid( 'activated' )
.valid( 'unactivated' )
.optional(),
}).options({ abortEarly: false });
return JoiSchema.validate(user)
}
const user = {
username: 'Pritish' ,
email: 'pritish@gmail.com' ,
date_of_birth: '2020-8-11' ,
account_status: 'activated'
}
response = validateUser(user)
if (response.error)
{
console.log(response.error.details)
}
else
{
console.log( "Validated Data" )
}

Примечание. В приведенной выше программе abortEarly установлено значение false, что гарантирует, что при наличии нескольких ошибок все они будут отображаться в терминале. Если установлено значение true, выполнение программы остановится, как только будет обнаружена первая ошибка, и только эта ошибка будет отображаться в терминале.

Шаги по запуску программы:

  1. Структура проекта будет выглядеть так:

  2. Убедитесь, что вы установили модуль joi, используя следующую команду:
     npm установить joi
  3. Запустите файл index.js, используя команду ниже:
     узел index.js
  4. Теперь, если ошибки не возникает, т. Е. Данные пользователя проверены, будет получен следующий вывод:

  5. Теперь, если мы проверим пользователя на недопустимые данные, как показано ниже, то будет получен следующий результат:

javascript




var user = {
username: 'GH' ,
email: 'demo@' ,
date_of_birth: '2020-20-48' ,
account_status: 'abcd'
};

Если для abortEarly установлено значение true, будет произведен следующий вывод:

Вот как вы можете проверять данные с помощью модуля joi. На рынке есть и другие модули для валидации, такие как экспресс-валидатор и т. Д.