From 7da391fcb844b27ed545ac8e9ad249659096daed Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Mon, 3 Feb 2025 15:08:13 -0800 Subject: [PATCH] update client side validation --- .../StatusPage/CreateStatusContext/index.jsx | 40 ------------------- Client/src/Validation/validation.js | 11 ++--- 2 files changed, 6 insertions(+), 45 deletions(-) delete mode 100644 Client/src/Pages/StatusPage/CreateStatusContext/index.jsx diff --git a/Client/src/Pages/StatusPage/CreateStatusContext/index.jsx b/Client/src/Pages/StatusPage/CreateStatusContext/index.jsx deleted file mode 100644 index cd7127025..000000000 --- a/Client/src/Pages/StatusPage/CreateStatusContext/index.jsx +++ /dev/null @@ -1,40 +0,0 @@ -import { createContext, React } from "react"; - -const StatusFormContext = createContext({ - form: {}, - setForm: () => {}, - errors: {}, - setErrors: () => {}, - handleBlur: () => {}, - handleChange: () => {}, - handelCheckboxChange: () =>{} -}); - -const StatusFormProvider = ({ - form, - setForm, - errors, - setErrors, - handleBlur, - handleChange, - handelCheckboxChange, - children, -}) => { - return ( - - {children} - - ); -}; - -export { StatusFormContext, StatusFormProvider }; diff --git a/Client/src/Validation/validation.js b/Client/src/Validation/validation.js index 76f4ef606..988035cbe 100644 --- a/Client/src/Validation/validation.js +++ b/Client/src/Validation/validation.js @@ -203,7 +203,7 @@ const logoImageValidation = joi .allow(null) .optional(); // Make entire object optional -const publicPageSettingsValidation = joi.object({ +const statusPageValidation = joi.object({ isPublished: joi.bool(), companyName: joi .string() @@ -213,15 +213,16 @@ const publicPageSettingsValidation = joi.object({ timezone: joi.string().trim().messages({ "string.empty": "Timezone is required." }), color: joi.string().trim().messages({ "string.empty": "Color is required." }), theme: joi.string(), - monitors: joi.array().min(1).items(joi.string().required()).messages({ + monitors: joi.array().min(1).required().messages({ "string.pattern.base": "Must be a valid monitor ID", "array.base": "Monitors must be an array", + "array.min": "At least one monitor is required", "array.empty": "At least one monitor is required", - "any.required": "Monitors are required", + "any.required": "At least one monitor is required", }), logo: logoImageValidation, showUptimePercentage: joi.boolean(), - showBarcode: joi.boolean(), + showCharts: joi.boolean(), }); const settingsValidation = joi.object({ ttl: joi.number().required().messages({ @@ -337,6 +338,6 @@ export { maintenanceWindowValidation, advancedSettingsValidation, infrastructureMonitorValidation, - publicPageSettingsValidation, + statusPageValidation, logoImageValidation, };