If I remove the
immediate="true"part, then I find myself in another problem, the form validation is performed and the page is not sent to the server.
Placing immediate=true on a commandButton causes the action to be run during the APPLY_REQUEST_VALUES phase, resulting in the model update not occuring.
I also tried to use an
s:linkinstead, that would have sent me to the same page, but then I lost all the modifications I have already done.
s:link doesn't submit the form.
Is this a known problem with Seam? Or any other solution/workaround.
This is really a JSF issue. Try also putting immediate=true on your checkbox, the model should then be updated (for that component only) during APPLY_REQUEST_VALUES. A better solution is to use more than one form (one for your hide/show, another for the data entry), then you don't need to use the immediate hack on the JSF lifecycle.
I already tried the "two" forms option and it works. Only that the page looks like hell. But I can make it look ok, thats a design issue now :D.
So, for the public:
2) another to keep all the other fields.