diff --git a/src/middlewares/utils/validateFields.ts b/src/middlewares/utils/validateFields.ts new file mode 100644 index 0000000000000000000000000000000000000000..3d46747811f14efd364ce51f19387fec52ed19e9 --- /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!`); + } + }); +}