UNPKG

livr

Version:

Lightweight validator supporting Language Independent Validation Rules Specification

37 lines (30 loc) 992 B
const Validator = require('../../Validator'); const util = require('../../util'); function list_of_objects(livr, ruleBuilders) { const validator = new Validator(livr).registerRules(ruleBuilders).prepare(); return (objects, params, outputArr) => { if (util.isNoValue(objects)) return; if (!Array.isArray(objects)) return 'FORMAT_ERROR'; const results = []; const errors = []; let hasErrors = false; for (const object of objects) { const result = validator.validate(object); if (result) { results.push(result); errors.push(null); } else { hasErrors = true; errors.push(validator.getErrors()); results.push(null); } } if (hasErrors) { return errors; } else { outputArr.push(results); return; } }; } module.exports = list_of_objects;