From f10356641aaf008f03ca138d51d9071b218a5be7 Mon Sep 17 00:00:00 2001 From: matias-portainer <104775949+matias-portainer@users.noreply.github.com> Date: Fri, 27 Oct 2023 10:35:10 -0300 Subject: [PATCH] fix(edge/aeec): make edge id generator field mandatory EE-6010 (#10545) --- .../edge/components/EdgeScriptForm/EdgeScriptForm.tsx | 2 ++ .../EdgeScriptForm/EdgeScriptForm.validation.tsx | 7 +++++++ .../EdgeScriptForm/EdgeScriptSettingsFieldset.tsx | 7 +++++-- app/react/edge/components/EdgeScriptForm/types.ts | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.tsx b/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.tsx index cc8e2bc77..411acb5c2 100644 --- a/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.tsx +++ b/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.tsx @@ -19,6 +19,7 @@ const edgePropertiesFormInitialValues: ScriptFormValues = { edgeGroupsIds: [], group: 0, tagsIds: [], + edgeIdGenerator: '', }; interface Props { @@ -45,6 +46,7 @@ export function EdgeScriptForm({ initialValues={edgePropertiesFormInitialValues} validationSchema={() => validationSchema(isNomadTokenVisible)} onSubmit={() => {}} + validateOnMount > {({ values, setFieldValue }) => ( <> diff --git a/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.validation.tsx b/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.validation.tsx index b67158842..0811485f3 100644 --- a/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.validation.tsx +++ b/app/react/edge/components/EdgeScriptForm/EdgeScriptForm.validation.tsx @@ -6,6 +6,13 @@ export function validationSchema(isNomadTokenVisible?: boolean) { return object().shape({ allowSelfSignedCertificates: boolean(), envVars: string(), + edgeIdGenerator: string() + .required('Edge ID Generator is required') + .test( + 'valid edge id generator', + 'edge id generator cannot be empty', + (value) => !!(value && value.length) + ), ...nomadValidation(isNomadTokenVisible), }); } diff --git a/app/react/edge/components/EdgeScriptForm/EdgeScriptSettingsFieldset.tsx b/app/react/edge/components/EdgeScriptForm/EdgeScriptSettingsFieldset.tsx index 1b1c3adbe..eb62dbb72 100644 --- a/app/react/edge/components/EdgeScriptForm/EdgeScriptSettingsFieldset.tsx +++ b/app/react/edge/components/EdgeScriptForm/EdgeScriptSettingsFieldset.tsx @@ -24,7 +24,8 @@ export function EdgeScriptSettingsFieldset({ hideIdGetter, showMetaFields, }: Props) { - const { values, setFieldValue } = useFormikContext(); + const { values, setFieldValue, errors } = + useFormikContext(); return ( <> @@ -50,8 +51,10 @@ export function EdgeScriptSettingsFieldset({ <> ;