summaryrefslogtreecommitdiff
path: root/src/api/validator.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/validator.ts')
-rw-r--r--src/api/validator.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/api/validator.ts b/src/api/validator.ts
index d75fe6420b..2562535c02 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 <T>(value: any, isRequired: boolean, type: Type): [T, string] => {
+export default <T>(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 <T>(value: any, isRequired: boolean, type: Type): [T, string] =>
break;
}
+ if (validator) {
+ if (!validator(value)) {
+ return [null, 'invalid-format'];
+ }
+ }
+
return [value, null];
};