UNPKG

ncc-prototype-email-alerts-sub

Version:

Northumberland Council Front End Email Alerts Subscription Prototype

36 lines (35 loc) 1.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = __importDefault(require("../../libs/logger")); const validate = (req, validators) => { var _a; if (validators.length === 0) return true; const bodyValues = Object.entries(req.body); req.session.formErrors = []; req.session.error = {}; const errorObject = (_a = req.session) === null || _a === void 0 ? void 0 : _a.error; const validationResult = validators.map((item) => { const { fieldNames, validate, message } = item; return fieldNames.map((fieldName) => { return bodyValues.map((bodyValue) => { var _a; if (fieldName === bodyValue[0]) { const isValid = validate(bodyValue[1]); if (!isValid) { logger_1.default.debug(`${fieldName} ${bodyValue[1]} is not valid`); (_a = req.session.formErrors) === null || _a === void 0 ? void 0 : _a.push({ errorMessage: message, field: fieldName }); errorObject[fieldName] = { text: `${message}` }; } return isValid; } return true; }).flat(); }).flat(); }); return !validationResult.flat().some((i) => i == false); }; exports.default = validate;