You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Duncan McLean <du...@blueyonder.co.uk> on 2006/02/17 14:39:02 UTC

Re: Dynamically setting a cform field as required in javascript form definition

Hi Simone

Thanks for that, but we tried using "widget.setRequired(true)" but it
reports that "setRequired is not a function".

We are using Cocoon 2.1.7 - is this the problem or is it something else?

Thanks

> Hi Duncan,
> If you are talking about server side javascript (like flow or
> fd:on-value-changed) then you can use the setRequired(true) on the
> widget(s) you want to make mandatory. In this case, you have to set the
> fd:on-value-changed in the radio buttons definition, with a
> fd:javascript inside that makes all the needed checks and then looks up
> the widgets and calls widget.setRequired(true) on those that must become
> mandatory when a certain radio button is selected.
>
> Also, if it does not happen automatically, set a fi:styling
> submit-on-change on those radio buttons, to make sure the form will get
> automatically submitted when the user selectes a radio button.
>
> This techique will cause a page reload, you can make this less annoying
> for the user using ajax.
>
> Hope this helps,
> Simone
>
>
>
>
> Duncan McLean wrote:
>
>>Hi
>>
>>Does anyone know how to set a field as required from within a Javascript
>>block in a field definition?
>>
>>We have a set of radio buttons, and depending on which one is selected
>>this will influence which subsequent fields are compulsory.
>>We've tried to set the "required" attribute of a particular field, but
>>this has no effect.
>>
>>Anybody have any code which does this, or is it impossible?
>>
>>Thanks
>>
>>Duncan
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>For additional commands, e-mail: users-help@cocoon.apache.org
>>
>>
>>
>
> --
> Simone Gianni
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Dynamically setting a cform field as required in javascript form definition

Posted by Duncan McLean <du...@blueyonder.co.uk>.
Hi Robin

We had thought about doing custom validation for this, but the 
requirement says that the asterisk that denotes a mandatory field should 
show up if the field in question was required.
As I understand it, custom validation wouldn't give us this...unless 
there is a way we could "fake" this if we use custom validation?

Thanks again

Duncan

Robin Wyles wrote:

> Hi Duncan,
>
> An alternative perhaps would be to use custom validation either on  
> your form object or on the fields on which you wanted to set the  
> required. The custom validation could just look at the values of the  
> your radio buttons and then decide whether the field in question  
> should be filled in. I'm pretty sure this is supported in 2.1.7.
>
> Regards,
>
> Robin
>
> On 17 Feb 2006, at 18:28, Duncan McLean wrote:
>
>> Hi again
>>
>> Thanks for the advice - looks like we make take the 3rd option as  
>> this looks the most workable for us at the moment.
>>
>> Duncan
>>
>> Simone Gianni wrote:
>>
>>> Hi Duncan,
>>> yes, setRequired has been introduced after 2.1.7, i believe it's  in 
>>> 2.1.8. Unfortunately there is no way to set a widget required  or 
>>> not dynamically in 2.1.7. You could :
>>> - Upgrade to 2.1.8
>>> - Take the 2.1.8 field (o.a.c.forms.formmodel.Field) source  
>>> (together with builder and definition), and patch only those fiels  
>>> in your 2.1.7 (this could work).
>>> - If you cannot patch cocoon, take the 2.1.8 field (same, Field,  
>>> FieldDefinition and FieldDefinitionBuilder) sources, repackage  them 
>>> in a package of yours (eclipse refactoring can help) and then  
>>> change cocoon.xconf so that does not use the default Field but  your 
>>> Field (which is 2.1.8 one). Haven't tested this myself, but  with a 
>>> bit of work should do the trick.
>>>
>>> Hope this helps.
>>>
>>> Simone
>>>
>>> Duncan McLean wrote:
>>>
>>>> Hi Simone
>>>>
>>>> Thanks for that, but we tried using "widget.setRequired(true)"  but it
>>>> reports that "setRequired is not a function".
>>>>
>>>> We are using Cocoon 2.1.7 - is this the problem or is it  something 
>>>> else?
>>>>
>>>> Thanks
>>>>
>>>>
>>>>> Hi Duncan,
>>>>> If you are talking about server side javascript (like flow or
>>>>> fd:on-value-changed) then you can use the setRequired(true) on the
>>>>> widget(s) you want to make mandatory. In this case, you have to  
>>>>> set the
>>>>> fd:on-value-changed in the radio buttons definition, with a
>>>>> fd:javascript inside that makes all the needed checks and then  
>>>>> looks up
>>>>> the widgets and calls widget.setRequired(true) on those that  must 
>>>>> become
>>>>> mandatory when a certain radio button is selected.
>>>>>
>>>>> Also, if it does not happen automatically, set a fi:styling
>>>>> submit-on-change on those radio buttons, to make sure the form  
>>>>> will get
>>>>> automatically submitted when the user selectes a radio button.
>>>>>
>>>>> This techique will cause a page reload, you can make this less  
>>>>> annoying
>>>>> for the user using ajax.
>>>>>
>>>>> Hope this helps,
>>>>> Simone
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Duncan McLean wrote:
>>>>>
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> Does anyone know how to set a field as required from within a  
>>>>>> Javascript
>>>>>> block in a field definition?
>>>>>>
>>>>>> We have a set of radio buttons, and depending on which one is  
>>>>>> selected
>>>>>> this will influence which subsequent fields are compulsory.
>>>>>> We've tried to set the "required" attribute of a particular  
>>>>>> field, but
>>>>>> this has no effect.
>>>>>>
>>>>>> Anybody have any code which does this, or is it impossible?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Duncan
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------ 
>>>>>> ---
>>>>>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>>>> For additional commands, e-mail: users-help@cocoon.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> -- 
>>>>> Simone Gianni
>>>>>
>>>>> ------------------------------------------------------------------- 
>>>>> -- 
>>>>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>>> For additional commands, e-mail: users-help@cocoon.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> -------------------------------------------------------------------- -
>>>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>> For additional commands, e-mail: users-help@cocoon.apache.org
>>>>
>>>>
>>> -- 
>>> Simone Gianni
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Dynamically setting a cform field as required in javascript form definition

Posted by Robin Wyles <ro...@robinwyles.com>.
Hi Duncan,

An alternative perhaps would be to use custom validation either on  
your form object or on the fields on which you wanted to set the  
required. The custom validation could just look at the values of the  
your radio buttons and then decide whether the field in question  
should be filled in. I'm pretty sure this is supported in 2.1.7.

Regards,

Robin

On 17 Feb 2006, at 18:28, Duncan McLean wrote:

> Hi again
>
> Thanks for the advice - looks like we make take the 3rd option as  
> this looks the most workable for us at the moment.
>
> Duncan
>
> Simone Gianni wrote:
>
>> Hi Duncan,
>> yes, setRequired has been introduced after 2.1.7, i believe it's  
>> in 2.1.8. Unfortunately there is no way to set a widget required  
>> or not dynamically in 2.1.7. You could :
>> - Upgrade to 2.1.8
>> - Take the 2.1.8 field (o.a.c.forms.formmodel.Field) source  
>> (together with builder and definition), and patch only those fiels  
>> in your 2.1.7 (this could work).
>> - If you cannot patch cocoon, take the 2.1.8 field (same, Field,  
>> FieldDefinition and FieldDefinitionBuilder) sources, repackage  
>> them in a package of yours (eclipse refactoring can help) and then  
>> change cocoon.xconf so that does not use the default Field but  
>> your Field (which is 2.1.8 one). Haven't tested this myself, but  
>> with a bit of work should do the trick.
>>
>> Hope this helps.
>>
>> Simone
>>
>> Duncan McLean wrote:
>>
>>> Hi Simone
>>>
>>> Thanks for that, but we tried using "widget.setRequired(true)"  
>>> but it
>>> reports that "setRequired is not a function".
>>>
>>> We are using Cocoon 2.1.7 - is this the problem or is it  
>>> something else?
>>>
>>> Thanks
>>>
>>>
>>>> Hi Duncan,
>>>> If you are talking about server side javascript (like flow or
>>>> fd:on-value-changed) then you can use the setRequired(true) on the
>>>> widget(s) you want to make mandatory. In this case, you have to  
>>>> set the
>>>> fd:on-value-changed in the radio buttons definition, with a
>>>> fd:javascript inside that makes all the needed checks and then  
>>>> looks up
>>>> the widgets and calls widget.setRequired(true) on those that  
>>>> must become
>>>> mandatory when a certain radio button is selected.
>>>>
>>>> Also, if it does not happen automatically, set a fi:styling
>>>> submit-on-change on those radio buttons, to make sure the form  
>>>> will get
>>>> automatically submitted when the user selectes a radio button.
>>>>
>>>> This techique will cause a page reload, you can make this less  
>>>> annoying
>>>> for the user using ajax.
>>>>
>>>> Hope this helps,
>>>> Simone
>>>>
>>>>
>>>>
>>>>
>>>> Duncan McLean wrote:
>>>>
>>>>
>>>>> Hi
>>>>>
>>>>> Does anyone know how to set a field as required from within a  
>>>>> Javascript
>>>>> block in a field definition?
>>>>>
>>>>> We have a set of radio buttons, and depending on which one is  
>>>>> selected
>>>>> this will influence which subsequent fields are compulsory.
>>>>> We've tried to set the "required" attribute of a particular  
>>>>> field, but
>>>>> this has no effect.
>>>>>
>>>>> Anybody have any code which does this, or is it impossible?
>>>>>
>>>>> Thanks
>>>>>
>>>>> Duncan
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------ 
>>>>> ---
>>>>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>>> For additional commands, e-mail: users-help@cocoon.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>> --
>>>> Simone Gianni
>>>>
>>>> ------------------------------------------------------------------- 
>>>> --
>>>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>> For additional commands, e-mail: users-help@cocoon.apache.org
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> -------------------------------------------------------------------- 
>>> -
>>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>> For additional commands, e-mail: users-help@cocoon.apache.org
>>>
>>>
>> -- 
>> Simone Gianni
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Dynamically setting a cform field as required in javascript form definition

Posted by Duncan McLean <du...@blueyonder.co.uk>.
Hi again

Thanks for the advice - looks like we make take the 3rd option as this 
looks the most workable for us at the moment.

Duncan

Simone Gianni wrote:

> Hi Duncan,
> yes, setRequired has been introduced after 2.1.7, i believe it's in 
> 2.1.8. Unfortunately there is no way to set a widget required or not 
> dynamically in 2.1.7. You could :
> - Upgrade to 2.1.8
> - Take the 2.1.8 field (o.a.c.forms.formmodel.Field) source (together 
> with builder and definition), and patch only those fiels in your 2.1.7 
> (this could work).
> - If you cannot patch cocoon, take the 2.1.8 field (same, Field, 
> FieldDefinition and FieldDefinitionBuilder) sources, repackage them in 
> a package of yours (eclipse refactoring can help) and then change 
> cocoon.xconf so that does not use the default Field but your Field 
> (which is 2.1.8 one). Haven't tested this myself, but with a bit of 
> work should do the trick.
>
> Hope this helps.
>
> Simone
>
> Duncan McLean wrote:
>
>>Hi Simone
>>
>>Thanks for that, but we tried using "widget.setRequired(true)" but it
>>reports that "setRequired is not a function".
>>
>>We are using Cocoon 2.1.7 - is this the problem or is it something else?
>>
>>Thanks
>>
>>  
>>
>>>Hi Duncan,
>>>If you are talking about server side javascript (like flow or
>>>fd:on-value-changed) then you can use the setRequired(true) on the
>>>widget(s) you want to make mandatory. In this case, you have to set the
>>>fd:on-value-changed in the radio buttons definition, with a
>>>fd:javascript inside that makes all the needed checks and then looks up
>>>the widgets and calls widget.setRequired(true) on those that must become
>>>mandatory when a certain radio button is selected.
>>>
>>>Also, if it does not happen automatically, set a fi:styling
>>>submit-on-change on those radio buttons, to make sure the form will get
>>>automatically submitted when the user selectes a radio button.
>>>
>>>This techique will cause a page reload, you can make this less annoying
>>>for the user using ajax.
>>>
>>>Hope this helps,
>>>Simone
>>>
>>>
>>>
>>>
>>>Duncan McLean wrote:
>>>
>>>    
>>>
>>>>Hi
>>>>
>>>>Does anyone know how to set a field as required from within a Javascript
>>>>block in a field definition?
>>>>
>>>>We have a set of radio buttons, and depending on which one is selected
>>>>this will influence which subsequent fields are compulsory.
>>>>We've tried to set the "required" attribute of a particular field, but
>>>>this has no effect.
>>>>
>>>>Anybody have any code which does this, or is it impossible?
>>>>
>>>>Thanks
>>>>
>>>>Duncan
>>>>
>>>>
>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>>For additional commands, e-mail: users-help@cocoon.apache.org
>>>>
>>>>
>>>>
>>>>      
>>>>
>>>--
>>>Simone Gianni
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>For additional commands, e-mail: users-help@cocoon.apache.org
>>>
>>>
>>>
>>>    
>>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>For additional commands, e-mail: users-help@cocoon.apache.org
>>
>>  
>>
> -- 
> Simone Gianni




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Dynamically setting a cform field as required in javascript form definition

Posted by Simone Gianni <s....@thebug.it>.
Hi Duncan,
yes, setRequired has been introduced after 2.1.7, i believe it's in 
2.1.8. Unfortunately there is no way to set a widget required or not 
dynamically in 2.1.7. You could :
- Upgrade to 2.1.8
- Take the 2.1.8 field (o.a.c.forms.formmodel.Field) source (together 
with builder and definition), and patch only those fiels in your 2.1.7 
(this could work).
- If you cannot patch cocoon, take the 2.1.8 field (same, Field, 
FieldDefinition and FieldDefinitionBuilder) sources, repackage them in a 
package of yours (eclipse refactoring can help) and then change 
cocoon.xconf so that does not use the default Field but your Field 
(which is 2.1.8 one). Haven't tested this myself, but with a bit of work 
should do the trick.

Hope this helps.

Simone

Duncan McLean wrote:

>Hi Simone
>
>Thanks for that, but we tried using "widget.setRequired(true)" but it
>reports that "setRequired is not a function".
>
>We are using Cocoon 2.1.7 - is this the problem or is it something else?
>
>Thanks
>
>  
>
>>Hi Duncan,
>>If you are talking about server side javascript (like flow or
>>fd:on-value-changed) then you can use the setRequired(true) on the
>>widget(s) you want to make mandatory. In this case, you have to set the
>>fd:on-value-changed in the radio buttons definition, with a
>>fd:javascript inside that makes all the needed checks and then looks up
>>the widgets and calls widget.setRequired(true) on those that must become
>>mandatory when a certain radio button is selected.
>>
>>Also, if it does not happen automatically, set a fi:styling
>>submit-on-change on those radio buttons, to make sure the form will get
>>automatically submitted when the user selectes a radio button.
>>
>>This techique will cause a page reload, you can make this less annoying
>>for the user using ajax.
>>
>>Hope this helps,
>>Simone
>>
>>
>>
>>
>>Duncan McLean wrote:
>>
>>    
>>
>>>Hi
>>>
>>>Does anyone know how to set a field as required from within a Javascript
>>>block in a field definition?
>>>
>>>We have a set of radio buttons, and depending on which one is selected
>>>this will influence which subsequent fields are compulsory.
>>>We've tried to set the "required" attribute of a particular field, but
>>>this has no effect.
>>>
>>>Anybody have any code which does this, or is it impossible?
>>>
>>>Thanks
>>>
>>>Duncan
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>For additional commands, e-mail: users-help@cocoon.apache.org
>>>
>>>
>>>
>>>      
>>>
>>--
>>Simone Gianni
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>For additional commands, e-mail: users-help@cocoon.apache.org
>>
>>
>>
>>    
>>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>For additional commands, e-mail: users-help@cocoon.apache.org
>
>  
>
-- 
Simone Gianni