From c0b4003ad5d51f776a2417d0413e7d00b944707a Mon Sep 17 00:00:00 2001 From: Matteo Grifantini Date: Tue, 8 Oct 2024 12:24:26 +0200 Subject: [PATCH] feat(monitoraggio-caricamenti): WIP validazione date 20241008 --- .../monitoringSearchFilters.tsx | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/fe-piattaforma/src/pages/administrator/MonitoraggioCaricamenti/monitoringSearchFilters.tsx b/fe-piattaforma/src/pages/administrator/MonitoraggioCaricamenti/monitoringSearchFilters.tsx index a23421cab..e47368d97 100644 --- a/fe-piattaforma/src/pages/administrator/MonitoraggioCaricamenti/monitoringSearchFilters.tsx +++ b/fe-piattaforma/src/pages/administrator/MonitoraggioCaricamenti/monitoringSearchFilters.tsx @@ -88,18 +88,18 @@ const MonitoringSearchFilters: React.FC = () => { dataFine: { ...prevValues.dataFine, minimum: formattedDate }, }; if (new Date(prevValues.dataFine.value) < new Date(formattedDate)) { - newForm.dataFine.value = ''; - newDateValid.dataFine = true; + setIsDateValid(() => ({ dataInizio: false, dataFine: false })); + return prevValues; } else { - newDateValid.dataFine = false; + setIsDateValid(() => ({ dataInizio: true, dataFine: true })); } } else if (field === 'dataFine') { if (new Date(formattedDate) < new Date(prevValues.dataInizio.value)) { console.error('La data di fine non può essere inferiore alla data di inizio'); - newDateValid.dataFine = true + setIsDateValid(() => ({ dataFine: false, dataInizio: false })); return prevValues; } else { - newDateValid.dataFine = false; + setIsDateValid(() => ({ dataFine: true, dataInizio: true })); } newForm = { ...newForm, @@ -107,7 +107,6 @@ const MonitoringSearchFilters: React.FC = () => { dataInizio: { ...prevValues.dataInizio, maximum: formattedDate }, }; } - setIsDateValid(newDateValid); return newForm; }); }; @@ -118,6 +117,7 @@ const MonitoringSearchFilters: React.FC = () => { const handleClearForm = () => { setFormValues(initialFormValues); + setIsDateValid({}); }; const renderSelect = ( @@ -194,9 +194,7 @@ const MonitoringSearchFilters: React.FC = () => { onInputChange={(value) => handleDateInputChange(value, 'dataInizio')} minimum={formValues.dataInizio.minimum} maximum={formValues.dataInizio.maximum} - // className={isDateValid.dataInizio ? 'is-invalid' : 'is-valid'} - // valid = {isDateValid?.dataInizio} - {...(isDateValid.dataInizio ? { valid: false } : { valid: true })} + {...(isDateValid.dataInizio !== undefined ? { valid: isDateValid.dataInizio } : {})} /> = () => { onInputChange={(value) => handleDateInputChange(value, 'dataFine')} minimum={formValues.dataFine.minimum} maximum={formValues.dataFine.maximum} - {...(isDateValid.dataFine ? { valid: false } : { valid: true })} - // className= 'is-invalid' - // valid = {isDateValid?.dataFine} + {...(isDateValid.dataFine !== undefined ? { valid: isDateValid.dataFine } : {})} />