Hi,
we're working on a project developed on jboss seam framework and we're experiencing many problems trying to integrate seam's si:selectitems component in the view side (to translate a list of entities in a list of SelectItems).
With any <ice:selectOne***> (like ice:selectOneMenu) everything goes fine, but trying to put a <ice:selectMany***> gives an error during jsf validation phase (<h:messages /> gives a "Validation error").
We already have tried replacing every ice tag (<ice:***>) with corresponding jsf tag (<h:***>) but this choice gave us non positive result.
On the other hand, replacing icefaces with myface solves the problem: select many works fine!!!
I had the same problem: Validation Error! and I found that it is caused by an empty value for selectItem. If every selectItem has some value there are no errors.
But the question is how to make empty selectItem e.g. --- Choose one ---? If one does something like this:
<code>
<ice: selectOneMenu value="sth">
<f: selectItem label="--- choose one ---" value="" />
...
</ice: selectOneMenu>
<code>
There isn't fired required validation event but error validation event.
Is it the only solution to make your own validator which validates if value isn't 'NONE'
<code>
...
<f: selectItem label="--- choose one ---" value="NONE">
...
</code>
or validate submitted value in backing bean?
If so, why there is property 'required'?
With second solution I think there will be some problems with partial submit with other input components.
I just stepped back for now. There are just too many problems with Icefaces and Seam. I rather have Seam working flawlessly than fighting with unsolvable (or only dirtily) solvable integration issues. Though, I'd love to see them both working together seamlessly :) ...
Edit: Oh, missed this post. Fixed sounds good. I'll try it sometime, also would be nice if you'd let me know what you got when you tried it.
I've found that if you want do sth like i've described before (select item with label --- choose one --- but without any value) you could put select item with no label and no value, then it works correctly.