JOI - валідація

[[https://github.com/hapijs/joi/|joi - це бібліотека для валідації даних в JavaScript-середовищі, зокрема в Node.js.]

Визначення схем (Schema definition): ви можете описати повністю схеми для об'єктів, які бажаєте валідувати, використовуючи методи Joi.object() та Joi.array() для структур та методи для примітивів (числа, рядки, бульові значення тощо). Схеми є семантично зрозумілими, і ви легко зможете зрозуміти, що робить кожне з правил. Переглянути список усіх доступних правил можна в офіційній документації. Створимо схему валідації для об’єкта при створенні нового студента:

// src/validation/students.js
import Joi from 'joi';
export const createStudentSchema = Joi.object({
name: Joi.string().min(3).max(30).required(),
email: Joi.string().email().required(),
age: Joi.number().integer().min(6).max(16).required(),
gender: Joi.string().valid('male', 'female', 'other').required(),
avgMark: Joi.number().min(2).max(12).required(),
onDuty: Joi.boolean(),
});