You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Ilia Naryzhny (JIRA)" <ji...@apache.org> on 2014/09/23 16:29:34 UTC

[jira] [Created] (WICKET-5708) Making FormComponent.convertInput() public

Ilia Naryzhny created WICKET-5708:
-------------------------------------

             Summary: Making FormComponent.convertInput() public
                 Key: WICKET-5708
                 URL: https://issues.apache.org/jira/browse/WICKET-5708
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
    Affects Versions: 6.17.0
            Reporter: Ilia Naryzhny


Please make FormComponent.convertInput() public.
Whole conversation can be found here: 
http://wicket-dev.markmail.org/message/eicsiw6akjxbfs3z?q=convertInput

Some quotations:

"My intent is following:
Some form components should be shown or hiden dynamically according to
entered information and(!!!) without touching underling models. Whole form
content should be refreshed.
To achive that I use following approach:
1) AjaxFormSubmitBehavior with event="change" to recieve form on server side
2) With the aid of FormComponent.hasRawInput() I can understand where to
get actual value for the component: either by
convertInput()->getConvertedInput() or directly from a model.
3) [HACK] if value should be taken from form component with the aid of
reflection I'm invoking convertInput()
Method convertInputMethod =
FormComponent.class.getDeclaredMethod("convertInput");
convertInputMethod.setAccessible(true);
convertInputMethod.invoke(formComponent);
I can't use "validate" because there are some validators on a components
and they should be fired after actual data submition.
Currently, whole that stack is working perfectly as expected. But that
little hack is confusing me a bit:)"

Andrea's answer:

"If I understand correctly you submit form disabling default processing. 
In this way Wicket retains fields value without validating them but also 
without converting input. But you also need to convert the input value 
of the desired field. Right? I guess you have to do it because raw input 
is not enough for you."

That description is absolutly correct. Please help by supporting this usecase in wicket!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)