diff --git a/src/Components/CreateImageWizard/CreateImageWizard.tsx b/src/Components/CreateImageWizard/CreateImageWizard.tsx index 95a3f29bb..c14e3caa7 100644 --- a/src/Components/CreateImageWizard/CreateImageWizard.tsx +++ b/src/Components/CreateImageWizard/CreateImageWizard.tsx @@ -203,6 +203,7 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => { // Firstboot const firstBootValidation = useFirstBootValidation(); // Details + const [detailsPristine, setDetailsPristine] = useState(true); const detailsValidation = useDetailsValidation(); let startIndex = 1; // default index @@ -453,7 +454,14 @@ const CreateImageWizard = ({ isEdit }: CreateImageWizardProps) => { status={detailsValidation.disabledNext ? 'error' : 'default'} footer={ { + if (detailsValidation.disabledNext) { + setDetailsPristine(false); + return false; + } + return true; + }} + disableNext={!detailsPristine && detailsValidation.disabledNext} /> } > diff --git a/src/test/Components/CreateImageWizard/steps/Details/Details.test.tsx b/src/test/Components/CreateImageWizard/steps/Details/Details.test.tsx index 021fd8962..56d44698a 100644 --- a/src/test/Components/CreateImageWizard/steps/Details/Details.test.tsx +++ b/src/test/Components/CreateImageWizard/steps/Details/Details.test.tsx @@ -63,6 +63,7 @@ describe('validates name', () => { const nextButton = await getNextButton(); expect(nextButton).toBeEnabled(); await enterBlueprintName(' '); + await clickNext(); await waitFor(() => expect(nextButton).toBeDisabled()); }); @@ -83,6 +84,7 @@ describe('validates name', () => { await goToDetailsStep(); await enterBlueprintName('Lemon Pie'); const nextButton = await getNextButton(); + await clickNext(); await waitFor(() => expect(nextButton).toBeDisabled()); });