diff --git a/src/api/validator.ts b/src/api/validator.ts index d75fe6420..2562535c0 100644 --- a/src/api/validator.ts +++ b/src/api/validator.ts @@ -2,7 +2,7 @@ import * as mongo from 'mongodb'; type Type = 'id' | 'string' | 'number' | 'boolean' | 'array' | 'object'; -export default (value: any, isRequired: boolean, type: Type): [T, string] => { +export default (value: any, isRequired: boolean, type: Type, validator?: (any) => boolean): [T, string] => { if (value === undefined || value === null) { if (isRequired) { return [null, 'is-required'] @@ -49,5 +49,11 @@ export default (value: any, isRequired: boolean, type: Type): [T, string] => break; } + if (validator) { + if (!validator(value)) { + return [null, 'invalid-format']; + } + } + return [value, null]; };