joi_-_validacija

Это старая версия документа!


JOI - валідація

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

1. Визначення схем (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(),
});

2. Використання методів валідації: після визначення схеми ви можете використовувати на ній методи валідації, такі як validate або validateAsync, для перевірки об'єктів даних на відповідність цій схемі.

const dataToValidate = {
  name: 'John Doe',
  email: 'john.doe@example.com',
  age: 12,
  gender: 'male',
  avgMark: 10.2,
};

const validationResult = createStudentSchema.validate(dataToValidate);
if (validationResult.error) {
  console.error(validationResult.error.message);
} else {
  console.log('Data is valid!');
}
  • /sites/data/attic/joi_-_validacija.1717834224.txt.gz
  • Последнее изменение: 2024/06/08 08:10
  • tro