[ 
https://issues.apache.org/jira/browse/WICKET-2705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920857#action_12920857
 ] 

Igor Vaynberg commented on WICKET-2705:
---------------------------------------

a proper solution to this will look something like this:

feedback messages are stored in component's metadata with the components
add new support for persistent feedback messages - these are not cleaned up 
after render

form components report their errors as persistent
form components clean their reported errors once validated
so form component workflow looks like this:

before validate - clear all reported errors
validate - reports persistent messages
onvalid - clear all reported errors
onerror - do nothing, messages stay until next validation or onvalid

> Feedback messages get cleaned up in AJAX request, thus never rendered and 
> never visible to user
> -----------------------------------------------------------------------------------------------
>
>                 Key: WICKET-2705
>                 URL: https://issues.apache.org/jira/browse/WICKET-2705
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4.6
>         Environment: Sun Glassfish Enterpriser Server 2.1
>            Reporter: Jan Winkler
>            Assignee: Igor Vaynberg
>             Fix For: 1.6.0
>
>         Attachments: feedbackbug.patch, feedbackbug.tgz, patch.txt
>
>
> Consider a page containing a form and an AJAXy component (as in an AJAX link 
> or a panel with AjaxSelfUpdatingTimerBehavior). The form contains code, that 
> makes its processing take relatively long time, even when validation fails 
> (let's say we forgot to fill in a requred field). The form gets submitted, 
> and while it's processing, the AJAX component triggers a request (AJAX link 
> gets clicked, or AjaxSelfUpdatingTimerBehavior kicks in). While the AJAX 
> request gets served, cleanupFeedbackMessages() is called, wiping all feedback 
> messages found by WebSession.MESSAGES_FOR_COMPONENTS filter.
> WebSession.MESSAGES_FOR_COMPONENTS implementation (or its usage in 
> cleanupFeedbackMessages()) is a little bit fishy, as it accept()s messages, 
> that haven't been rendered.
> Will add testcase.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to