diff --git a/lib/validator.js b/lib/validator.js index 261afa9..30d692a 100644 --- a/lib/validator.js +++ b/lib/validator.js @@ -40,7 +40,8 @@ function passwordsMatch(password1, password2) { * @return {Object} results * @return {Map} results.fields - Sanitised and validated fields */ -function validate(body, fields, validation = {}) { +function validate(originalBody, fields, validation = {}) { + const body = { ...originalBody }; const fieldsMap = new Map(); // Check all required fields are not empty, and sanitise them @@ -51,8 +52,13 @@ function validate(body, fields, validation = {}) { throw new Error(`${field} is missing`); fieldsMap.set(field, cleanField); + + delete body[field]; } + for (const [ field, content ] of Object.entries(body)) + fieldsMap.set(field, content); + // Handle validation as required in options for (const [ check, checkOpts ] of Object.entries(validation)) { let valid;