[ 
https://issues.apache.org/jira/browse/WICKET-1090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536555
 ] 

Eelco Hillenius commented on WICKET-1090:
-----------------------------------------

Well, I think it only makes sense because you know the internals. But imagine 
you are not aware of these internals: you just update that model and expect it 
to reflect the current value, right? It is actually what I expected when I 
coded this case, and only when I saw it didn't work like I expected did I 
realize this was because input gets cached (only) when there were validation 
errors. I think it just feels very inconsistent, even if there is a workaround, 
and the fact that it only fails when a form doesn't validate makes it a 
hard-to-spot potential bug for people as well.

Maybe a FAQ is good yes.

> clean up raw_input after rendering of form components
> -----------------------------------------------------
>
>                 Key: WICKET-1090
>                 URL: https://issues.apache.org/jira/browse/WICKET-1090
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 1.3.0-beta1, 1.3.0-beta2, 1.3.0-beta3, 1.3.0-beta4
>            Reporter: Eelco Hillenius
>            Assignee: Eelco Hillenius
>             Fix For: 1.3.0-beta5
>
>
> This code doesn't work like it should:
>   super("createUserForm", new CompoundPropertyModel(bean));
>   final TextField passwordField = new TextField("password");
>   passwordField.setOutputMarkupId(true);
>   passwordField.setLabel(new ResourceModel("label.createuser.password"));
>   add(passwordField);
>   add(new AjaxLink("generatePasswordLink") {
>     @Override
>     public void onClick(AjaxRequestTarget target) {
>       bean.setPassword(PasswordGenerator.generate().toString());
>       target.addComponent(passwordField);
>     }
>   });
> It should update the label with the new password, but it doesn't when done 
> after a form submit since it still has the raw_input value it got from that 
> last form submit. There is no reason (as far as I know) to hold on to that 
> value after rendering, so the fix is to clean the raw_input at the end of 
> requests (i.e. onAfterRender).

-- 
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