[
https://issues.apache.org/jira/browse/WICKET-5883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14501835#comment-14501835
]
Martin Grigorov commented on WICKET-5883:
-----------------------------------------
OK. I see what happens.
The error feedback message is rendered but preserved for the next request
because of:
{code}
// make feedback messages not to disappear after page refresh
getApplicationSettings().setFeedbackMessageCleanupFilter(IFeedbackMessageFilter.NONE);
{code}
[~svenmeier] What do you think about adding checks for
component.isVisibileInHierarchy() and #isEnabledInHierarchy() at
org.apache.wicket.markup.html.form.Form#anyFormComponentError()?
{code}
diff --git
i/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
w/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
index 789a804..c7fea42 100644
--- i/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
+++ w/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
@@ -1141,7 +1141,7 @@ public class Form<T> extends WebMarkupContainer
implements IFormSubmitListener,
@Override
public void component(final Component component, final
IVisit<Boolean> visit)
{
- if (component.hasErrorMessage())
+ if (component.isVisibleInHierarchy() &&
component.isEnabledInHierarchy() && component.hasErrorMessage())
{
visit.stop(true);
{code}
> Feedback messages not cleared for invisible/disabled form components on
> submit.
> -------------------------------------------------------------------------------
>
> Key: WICKET-5883
> URL: https://issues.apache.org/jira/browse/WICKET-5883
> Project: Wicket
> Issue Type: Bug
> Affects Versions: 6.19.0
> Reporter: Denis Shokhalevich
> Assignee: Martin Grigorov
> Priority: Minor
> Attachments: quickstart.zip
>
>
> Having:
> - IFeedbackMessageFilter.NONE used as the default application's feedback
> message cleanup filter (in order to make feedback messages not to disappear
> after page refresh, i.e. persistent)
> - form with validatable component whose enabled/visible state may be
> dynamically changed by user (e.g. checkbox "send me email" and text field
> "email")
> First, user tries to submit form having invalid value - as the result
> validation error occurs.
> Then user makes that component invisible and retries form submitting - as the
> result no validation errors, but form wasn't submitted.
> This happens because that component still has error feedback message got from
> first submit. Note that when using default application's feedback message
> cleanup filter, form is successfully submitted.
> Probably, feedback messages should be cleared for invisible/disabled form
> components on submit, as it done for visible/enabled components in
> FormComponent.validate()
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)