From 4f096fedefbd50cdab5a34227af94ac359d0f675 Mon Sep 17 00:00:00 2001 From: Louis Vignier Date: Wed, 24 Dec 2025 17:45:42 +0100 Subject: [PATCH] IJPL-225552 npw: fix validation logic #IJPL-225552 Fixed GitOrigin-RevId: 670806640860cb4a0ee3b6d97100f400405574a7 --- .../com/intellij/ide/projectWizard/ProjectTypeStep.java | 3 +++ .../ide/starters/local/wizard/StarterInitialStep.kt | 7 ++++++- .../ide/starters/remote/wizard/WebStarterInitialStep.kt | 8 +++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java index b9d03c0196bc..eb5eded96a2d 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java @@ -654,6 +654,9 @@ public final class ProjectTypeStep extends ModuleWizardStep implements SettingsS if (isFrameworksMode() && !myFrameworksPanel.validate()) { return false; } + if (myCustomSteps.get(myCurrentCard) instanceof ModuleWizardStep wizardStep) { + if (!wizardStep.validate()) return false; + } return super.validate(); } diff --git a/java/idea-ui/src/com/intellij/ide/starters/local/wizard/StarterInitialStep.kt b/java/idea-ui/src/com/intellij/ide/starters/local/wizard/StarterInitialStep.kt index ad9f728d283a..05d7bca1513f 100644 --- a/java/idea-ui/src/com/intellij/ide/starters/local/wizard/StarterInitialStep.kt +++ b/java/idea-ui/src/com/intellij/ide/starters/local/wizard/StarterInitialStep.kt @@ -142,7 +142,9 @@ open class StarterInitialStep(contextProvider: StarterContextProvider) : CommonS addSampleCodeUi() addFieldsAfter(this) - }.withVisualPadding(topField = true) + } + .withVisualPadding(topField = true) + .apply { registerValidators(parentDisposable) } } override fun validate(): Boolean { @@ -152,6 +154,9 @@ open class StarterInitialStep(contextProvider: StarterContextProvider) : CommonS if (!validateJdkIntentVersion(jdkIntentProperty, moduleBuilder.getMinJavaVersionInternal()?.toFeatureString(), moduleBuilder.presentableName)) { return false } + if (contentPanel.validateAll().isNotEmpty()) { + return false + } return true } diff --git a/java/idea-ui/src/com/intellij/ide/starters/remote/wizard/WebStarterInitialStep.kt b/java/idea-ui/src/com/intellij/ide/starters/remote/wizard/WebStarterInitialStep.kt index f8322d4ca7c2..f341e48f34f4 100644 --- a/java/idea-ui/src/com/intellij/ide/starters/remote/wizard/WebStarterInitialStep.kt +++ b/java/idea-ui/src/com/intellij/ide/starters/remote/wizard/WebStarterInitialStep.kt @@ -244,7 +244,9 @@ open class WebStarterInitialStep(contextProvider: WebStarterContextProvider) : C addSampleCodeUi() addFieldsAfter(this) - }.withVisualPadding() + } + .withVisualPadding() + .apply { registerValidators(parentDisposable) } } private fun createServerUrlLink(): ActionLink { @@ -290,6 +292,10 @@ open class WebStarterInitialStep(contextProvider: WebStarterContextProvider) : C return false } + if (contentPanel.validateAll().isNotEmpty()) { + return false + } + return checkServerOptionsLoaded() }