I am also very interested in this. I had it working with IceFaces so I'm sure that it's also possible with RichFaces.
One way to get around it would be to store the value 'suggested' in an object which is then injected into the Bean where you perform the operation (eg. into the EntityHome bean when calling persist).
Sorry I can't be of more help.
...oh, and I meant to say that in the intended operation you can look up the Object from the suggestion box based on it's value. Mind you this is only really helpful if you store the ID.
Curiously, but we disabled this feature explicitly.
<property hidden="true"> <name>ajaxSingle</name> <classname>boolean</classname> <description> if true, submit ONLY one field/link, instead of all form controls </description> <defaultvalue>true</defaultvalue> </property>
So, if we remove hidden="true" from this configuration file, suggestionBox will obtain the attribute ajaxSingle. If ajaxSingle="false", the other fields of the form (or ones that are limited with a4j:region) will be processed and available in the suggestionAction.
However, if the validation problems occur on other fields, the action will not invoked and the suggestion stops to work. This use case was the motivation why this option is disables
Another possible way to go is having "process" attribute on the Ajax Components. This attribute will allow to point to the components that will be processed while the ajaxSingle is set to true.
Having "process" attribute is more safer way. "process" is also in our TODO list, but not on the first position (first priority is a portals support).
So, what the approach you are voting for?
I vote for ajaxSingle=false/true.
If one of the form components is invalid, user will get validation error message later, while trying to submit the form, i don't see the benefit from letting him to choose the value with suggestion box at this stage. Submitting all form fields is common and general behavior...
If you decide to pick this approach, please, describe this validation issue in documentation and suggest to have
<a4j:outputPanel ajaxRendered="true"> <h:messages /> </a4j:outputPanel>
on every page with ajax support.
Is this enhancement targeted to the nearest release?
When do you plan to have it?
The changes are already is SVN. So, the feature will be included in the nearest build.
We are in the middle of moving the Maven repo from java.net to jboss.org . As soon as this will be done, anybody can obtain the latest version having just Maven installed.