From d2ae8ec4b9b9cb94110b74b1b300f5689bfc42f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com>
Date: Mon, 21 Dec 2020 17:29:46 +0100
Subject: [PATCH] validateFields function added

---
 src/middlewares/utils/validateFields.ts | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 src/middlewares/utils/validateFields.ts

diff --git a/src/middlewares/utils/validateFields.ts b/src/middlewares/utils/validateFields.ts
new file mode 100644
index 00000000..3d467478
--- /dev/null
+++ b/src/middlewares/utils/validateFields.ts
@@ -0,0 +1,19 @@
+import { Request } from "express";
+import { ValidationError } from "./ValidationError";
+
+interface IValidateFields {
+  fields: {
+    name: string;
+    required: boolean;
+  }[];
+  reqBody: Request["body"];
+}
+
+export function validateFields({ fields, reqBody }: IValidateFields) {
+  fields.forEach((field) => {
+    const value = reqBody[field.name];
+    if (field.required && !value) {
+      throw new ValidationError(400, `Field: {${field.name}} is required!`);
+    }
+  });
+}
-- 
GitLab