From 4966f3fd38e43960e2e6d3fbea78afb205c08883 Mon Sep 17 00:00:00 2001 From: Shemy Gan Date: Tue, 22 Oct 2024 14:15:11 -0400 Subject: [PATCH] - Update jwt ttl validation --- Client/src/Pages/AdvancedSettings/index.jsx | 26 ++++++++++- .../Maintenance/CreateMaintenance/index.jsx | 27 ++---------- Client/src/Validation/validation.js | 44 ++++++++++++------- 3 files changed, 57 insertions(+), 40 deletions(-) diff --git a/Client/src/Pages/AdvancedSettings/index.jsx b/Client/src/Pages/AdvancedSettings/index.jsx index ce1c89250..b71123ca7 100644 --- a/Client/src/Pages/AdvancedSettings/index.jsx +++ b/Client/src/Pages/AdvancedSettings/index.jsx @@ -12,6 +12,8 @@ import { useNavigate } from "react-router"; import { getAppSettings, updateAppSettings } from "../../Features/Settings/settingsSlice"; import { useState, useEffect } from "react"; import Select from "../../Components/Inputs/Select"; +import { advancedSettingsValidation } from "../../Validation/validation"; +import { buildErrors, hasValidationErrors } from "../../Validation/error"; const AdvancedSettings = ({ isAdmin }) => { const navigate = useNavigate(); @@ -21,7 +23,7 @@ const AdvancedSettings = ({ isAdmin }) => { navigate("/"); } }, [navigate, isAdmin]); - + const [errors, setErrors] = useState({}); const theme = useTheme(); const { authToken } = useSelector((state) => state.auth); const dispatch = useDispatch(); @@ -75,9 +77,20 @@ const AdvancedSettings = ({ isAdmin }) => { const handleChange = (event) => { const { value, id } = event.target; setLocalSettings({ ...localSettings, [id]: value }); + const { error } = advancedSettingsValidation.validate( + { [id]: value }, + { + abortEarly: false, + } + ); + setErrors((prev) => { + return buildErrors(prev, id, error); + }); }; const handleSave = async () => { + if (hasValidationErrors(localSettings, advancedSettingsValidation, setErrors)) + return; const action = await dispatch( updateAppSettings({ settings: localSettings, authToken }) ); @@ -118,6 +131,7 @@ const AdvancedSettings = ({ isAdmin }) => { label="API URL Host" value={localSettings.apiBaseUrl} onChange={handleChange} + error={errors.apiBaseUrl} />