// lib/validator.js // Валидация данных для калькуляторов /** * Валидирует обязательные поля * @param {Object} data - Данные для проверки * @param {string[]} requiredFields - Массив обязательных полей * @returns {{ valid: boolean, error?: string }} */ function validateRequiredFields(data, requiredFields) { for (const field of requiredFields) { if (!data[field] || data[field] === '') { return { valid: false, error: `Поле "${field}" обязательно для заполнения`, }; } } return { valid: true }; } /** * Валидирует числовые поля * @param {Object} data - Данные для проверки * @param {string[]} numericFields - Массив полей, которые должны быть числами * @returns {{ valid: boolean, error?: string }} */ function validateNumericFields(data, numericFields) { for (const field of numericFields) { if (data[field] !== undefined && data[field] !== null && data[field] !== '') { const num = Number(data[field]); if (isNaN(num) || num < 0) { return { valid: false, error: `Поле "${field}" должно быть положительным числом`, }; } } } return { valid: true }; } module.exports = { validateRequiredFields, validateNumericFields, };