Hi Derek,

Here is an extract from my 'cform widget definition' code :

          <!-- VALIDITY REPEATER -->
        <fd:repeater id="validity">
           <fd:label>Validity</fd:label>
           <fd:widgets>
                <fd:field id="position"><fd:datatype
base="integer"/></fd:field>

                <fd:booleanfield id="select"/>

                <fd:field id="caption" required="false">
                    <fd:label>Caption:</fd:label>
                    <fd:datatype base="string"/>
                </fd:field>

                <fd:field id="start_sale" required="true">
                    <fd:label>Start Sale:</fd:label>
                    <fd:datatype base="date">
                        <fd:convertor type="formatting">
                            <fd:patterns>
                                <fd:pattern>ddMMMyy</fd:pattern>
                            </fd:patterns>
                        </fd:convertor>
                    </fd:datatype>
                </fd:field>
                    ...
                    <fd:field id="from_price" required="true">
                    <fd:label>From Price:</fd:label>
                    <fd:datatype base="double"/>
                </fd:field>
                ...
         </fd:repeater>

And an extract of how I use the defined repeater in my form:

                <ft:repeater-widget id="validity">
                    <div id="validityTable${repeaterLoop.index}">
                    <fi:group id="validationItem${repeaterLoop.index}">
                        <fi:styling type="fieldset" layout="columns"/>
                        <fi:items>
                              <ft:widget id="position"/>
                              <ft:widget id="caption"/>
                              <ft:widget id="start_sale"/>
                              <ft:widget id="end_sale"/>
                              <ft:widget id="from_price"/>
                              ...
                       </fi:items>
                    </fi:group>
                    </div>
                </ft:repeater-widget>

Also, on top of my cform I have
 <div class="validation-error-box"><fi:validation-errors/></div>
 Which lists ALL of the validation errors on the form

Hope this example helps.

Vica
-----Original Message-----
From: Derek Hohls [mailto:[EMAIL PROTECTED]
Sent: Monday, 9 January 2006 5:17 PM
To: [email protected]
Subject: RE: Error message handling in repeater rows


Vica

Not sure what you mean by "hiding".  In the end, I decided to drop
the:

<fd:field id="dsmessage" required="false">

from inside of the repeater, and just handle all the messages in the
outer:

<fd:field id="message" required="false">

I would still like to know how to do this, though... an example of
the correct syntax would help!

Thanks
Derek

>>> [EMAIL PROTECTED] 2006/01/03 08:16:37 AM >>>
Hmmm .. that's funny. I also have error handling inside repeater rows and
its seems to work ok. Are you by any chance hiding rows(and hence the error
messages)?


Vica

-----Original Message-----
From: Derek Hohls [mailto:[EMAIL PROTECTED]
Sent: Saturday, 31 December 2005 8:25 PM
To: [email protected]
Subject: Error message handling in repeater rows


I'd appreciate it if anyone could point to how to setup
handling of error messages for fields in repeater rows...
the method I am using does not seem to be working?

I have setup a new error message widget inside of the
repeater row, but it does not seem to receive a fail message
when, for example, an integer is out of range e.g.

<fd:form
xmlns:fd="http://apache.org/cocoon/forms/1.0#definition";
xmlns:i18n="http://apache.org/cocoon/i18n/2.1";>

<fd:widgets>

<fd:field id="message" required="false"> <!-- message for outer widgets-->
<fd:label></fd:label>
<fd:datatype base="string">
</fd:datatype>
</fd:field>

<fd:field id="GroupLabel" required="true">
<fd:label>Label</fd:label>
<fd:datatype base="string"/>
</fd:field>

<fd:repeater id="dsdata" size="5">
<fd:widgets>

<fd:field id="dsmessage" required="false"> <!-- message for repeater
widgets-->
<fd:label></fd:label>
<fd:datatype base="string"/>
</fd:field>

<fd:field id="dsYear">
<fd:label>Year</fd:label>
<fd:datatype base="integer"><fd:convertor type="plain"/></fd:datatype>
<fd:validation>
<fd:range max="2100" min="1900">
<fd:failmessage>Not in the required range (1900 to
2100)!</fd:failmessage>
</fd:range>
</fd:validation>
</fd:field>

Thanks!
Derek



--
This message is subject to the CSIR's copyright, terms and conditions and
e-mail legal notice. Views expressed herein do not necessarily represent the
views of the CSIR.

CSIR E-mail Legal Notice
http://mail.csir.co.za/CSIR_eMail_Legal_Notice.html

CSIR Copyright, Terms and Conditions
http://mail.csir.co.za/CSIR_Copyright.html

For electronic copies of the CSIR Copyright, Terms and Conditions and the
CSIR
Legal Notice send a blank message with REQUEST LEGAL in the subject line to
[EMAIL PROTECTED]


This message has been scanned for viruses and dangerous content by
MailScanner,
and is believed to be clean.  MailScanner thanks Transtec Computers for
their support.


---------------------------------------------------------------------
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]