fix: validation bypass when updating block

This commit is contained in:
hexastack 2025-04-24 18:43:07 +01:00
parent 9b2840af01
commit e30f5eaef3
4 changed files with 23 additions and 10 deletions

View File

@ -120,7 +120,8 @@
"image_error": "Image not found", "image_error": "Image not found",
"file_error": "File not found", "file_error": "File not found",
"audio_error": "Audio not found", "audio_error": "Audio not found",
"video_error": "Video not found" "video_error": "Video not found",
"missing_fields_error": "Please make sure that all required fields are filled"
}, },
"menu": { "menu": {
"terms": "Terms of Use", "terms": "Terms of Use",

View File

@ -120,7 +120,8 @@
"image_error": "Image introuvable", "image_error": "Image introuvable",
"file_error": "Fichier introuvable", "file_error": "Fichier introuvable",
"audio_error": "Audio introuvable", "audio_error": "Audio introuvable",
"video_error": "Vidéo introuvable" "video_error": "Vidéo introuvable",
"missing_fields_error": "Veuillez vous assurer que tous les champs sont remplis correctement"
}, },
"menu": { "menu": {
"terms": "Conditions d'utilisation", "terms": "Conditions d'utilisation",

View File

@ -1,5 +1,5 @@
/* /*
* Copyright © 2024 Hexastack. All rights reserved. * Copyright © 2025 Hexastack. All rights reserved.
* *
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms: * Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission. * 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
@ -24,16 +24,21 @@ export function TabPanel(props: TabPanelProps & GridProps) {
item item
xs xs
role="tabpanel" role="tabpanel"
hidden={value !== index}
id={`vertical-tabpanel-${index}`} id={`vertical-tabpanel-${index}`}
aria-labelledby={`vertical-tab-${index}`} aria-labelledby={`vertical-tab-${index}`}
sx={{
display: "block",
visibility: value === index ? "visible" : "hidden",
height: value === index ? "auto" : 0,
overflow: "hidden",
position: value === index ? "relative" : "absolute",
...sx,
}}
{...other} {...other}
> >
{value === index ? ( <Grid container sx={{ flexDirection: "column" }}>
<Grid container sx={{ flexDirection: "column", ...sx }}> {children}
{children} </Grid>
</Grid>
) : null}
</Grid> </Grid>
); );
} }

View File

@ -100,6 +100,9 @@ export const BlockEditForm: FC<ComponentFormProps<IBlock>> = ({
updateBlock({ id: block.id, params }); updateBlock({ id: block.id, params });
} }
}; };
const onSubmitError = () => {
toast.error(t("message.missing_fields_error"));
};
useEffect(() => { useEffect(() => {
if (block) { if (block) {
@ -110,7 +113,10 @@ export const BlockEditForm: FC<ComponentFormProps<IBlock>> = ({
}, [block, reset]); }, [block, reset]);
return ( return (
<Wrapper onSubmit={handleSubmit(onSubmitForm)} {...WrapperProps}> <Wrapper
onSubmit={handleSubmit(onSubmitForm, onSubmitError)}
{...WrapperProps}
>
<BlockFormProvider methods={methods} block={block || undefined}> <BlockFormProvider methods={methods} block={block || undefined}>
<ContentContainer> <ContentContainer>
<ContentItem display="flex" gap={5}> <ContentItem display="flex" gap={5}>