On 3/18/06, Jason Johnston <[EMAIL PROTECTED]> wrote:
> Thorsten Mauch wrote:
> > Hi
> > I have a form that have some widget that's are hided by default (additional
> > delivery address). If the user choose the to enter the additional delivery
> > address, then the widgets are shown and become mandatory. For that reason it
> > try to change the required attribute from flow script, but I get the error:
> >
> > java.lang.IllegalStateException: Attempt to modify an immutable
> > WidgetDefinition
> >
> > I called:
> > form.lookupWidget("deliveryaddress_street").getFieldDefinition().setRequired
> > (true);
>
> What version of Cocoon are you using?  As of 2.1.8 you can set the
> required state of a field instance directly:
>
> form.lookupWidget("deliveryaddress_street").setRequired(true);

I came across this when with 2.1.7, where between versions the form
definition became frozen.. You can use a jx transformation to generate
the form definition. setRequired directly on the widget is nicer than
the work around I found, but in case you're using 2.1.7 it works.

Mark

>
> But if you're using widget states to show/hide the fields then you
> shouldn't have to toggle the required state; if a field is set to
> required="true" and state="invisible" then it should not fail validation.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to