From 10558c70626d8cd8feb5ce56fc4e351f54c0661a Mon Sep 17 00:00:00 2001 From: Maxime Lalo Date: Mon, 24 Jul 2023 16:45:06 +0200 Subject: [PATCH] :sparkles: Create document handling errors --- .../DocumentTypesCreate/index.tsx | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/front/Components/Layouts/DocumentTypes/DocumentTypesCreate/index.tsx b/src/front/Components/Layouts/DocumentTypes/DocumentTypesCreate/index.tsx index 47668a92..bb23d2bd 100644 --- a/src/front/Components/Layouts/DocumentTypes/DocumentTypesCreate/index.tsx +++ b/src/front/Components/Layouts/DocumentTypes/DocumentTypesCreate/index.tsx @@ -6,15 +6,17 @@ import TextField from "@Front/Components/DesignSystem/Form/TextField"; import Typography, { ITypo } from "@Front/Components/DesignSystem/Typography"; import DefaultDocumentTypesDashboard from "@Front/Components/LayoutTemplates/DefaultDocumentTypesDashboard"; import Module from "@Front/Config/Module"; -import { validateOrReject } from "class-validator"; +import { validateOrReject, ValidationError } from "class-validator"; import { DocumentType, Office } from "le-coffre-resources/dist/Admin"; import { useRouter } from "next/router"; -import { useCallback } from "react"; +import { useCallback, useState } from "react"; import classes from "./classes.module.scss"; type IProps = {}; export default function DocumentTypesCreate(props: IProps) { + const [validationError, setValidationError] = useState([]); + const router = useRouter(); const onSubmitHandler = useCallback( async (e: React.FormEvent | null, values: { [key: string]: string }) => { @@ -25,6 +27,7 @@ export default function DocumentTypesCreate(props: IProps) { uid: "6981326f-8a0a-4437-b15c-4cd5c4d80f6e", }), }); + console.log(documentToCreate); await validateOrReject(documentToCreate, { groups: ["createDocumentType"] }); const documentTypeCreated = await DocumentTypes.getInstance().post(documentToCreate); @@ -32,7 +35,9 @@ export default function DocumentTypesCreate(props: IProps) { Module.getInstance().get().modules.pages.DocumentTypes.pages.Edit.props.path.replace("[uid]", documentTypeCreated.uid!), ); } catch (e) { - console.log(e); + if (e instanceof Array) { + setValidationError(e); + } } }, [router], @@ -45,9 +50,21 @@ export default function DocumentTypesCreate(props: IProps) { Créer un nouveau document
- - - + error.property === "name")} + /> + error.property === "private_description")} + /> + error.property === "public_description")} + />