[
https://issues.apache.org/jira/browse/WICKET-7159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17986221#comment-17986221
]
ASF GitHub Bot commented on WICKET-7159:
----------------------------------------
mira-silhavy commented on code in PR #1186:
URL: https://github.com/apache/wicket/pull/1186#discussion_r2167323973
##########
wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java:
##########
@@ -1986,7 +1986,7 @@ protected final void validateFormValidator(final
IFormValidator validator)
}
// check if the dependent component is visible
and is attached to
// the page
- else if (!dependent.isVisibleInHierarchy() ||
!dependent.isEnabledInHierarchy() || !dependent.isFormParticipant())
Review Comment:
Hi @papegaaij, @martin-g I've pushed a fix to an older test. So that it does
not return null from getDependentFormComponents.
> IFormValidator Skipped When Any Dependent Component is Disabled in Wicket 10.x
> ------------------------------------------------------------------------------
>
> Key: WICKET-7159
> URL: https://issues.apache.org/jira/browse/WICKET-7159
> Project: Wicket
> Issue Type: Bug
> Reporter: Miroslav Silhavy
> Priority: Major
>
> Regression causing a breaking behavior in Wicket 10, caused by change
> WICKET-3899. Discussed here
> [https://github.com/apache/wicket/pull/1033#discussion_r2104060257].
> Short description
> * After upgrading to Wicket 10.x, form validators ({{{}IFormValidator{}}})
> are not executed if any dependent form component is disabled, due to the
> addition of anĀ {{isEnabledInHierarchy()}} check. This breaks backward
> compatibility for applications that rely on validators with conditionally
> enabled/disabled fields or a field with multiple radio buttons, as the
> validator is now skipped in these cases. This impacts forms with validation
> logic and causes migration issues for existing Wicket 9 applications. A flag
> or configuration to restore the previous behavior, or reverting the change,
> is needed for backward compatibility.
> * Common UI patterns with conditionally enabled/disabled fields no longer
> work with form validators
> * We must restructure validators and implement complex enabled/disabled
> field checking in {{getDependentFormComponents()}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)