Hi David,
>
> can you post the FPF section from global_filters.xml please?
>
> - David
>
<filter name="FormPopulationFilter"
class="AgaviFormPopulationFilter">
<!-- only run for request method "write" (=POST on web) by
default (can be changed at runtime, of course) -->
<!-- if you omit this, it will never run -->
<ae:parameter name="methods">
<ae:parameter>write</ae:parameter>
</ae:parameter>
<!-- only run for output type "html" (so it doesn't break
on, say, JSON data) -->
<!-- if you omit this, it will run for all output types -->
<ae:parameter name="output_types">
<ae:parameter>html</ae:parameter>
</ae:parameter>
<!-- error message insertion rules -->
<!-- they are run in sequence; once the first one matched,
execution stops -->
<!--
errors that belong to more than one field (e.g. date
validator) can be handled using "multi_field_error_messages"
"normal" errors are handled through
"field_error_messages"
errors that yield no match and those that have no
corresponding field are inserted using rules defined in "error_messages".
-->
<!--
for all field error messages.
-->
<ae:parameter name="field_error_messages">
<!-- ${htmlnsPrefix} is either empty (for HTML) or
something like "html:" for XHTML documents with xmlns="..." notation. Always
use this, makes your code more bullet proof. XPath needs the namespaces when
the document is namespaced -->
<!-- all input fields that are not checkboxes or radios,
and all textareas -->
<ae:parameter
name="self::${htmlnsPrefix}input[not(@type='checkbox' or @type='radio')] |
self::${htmlnsPrefix}textarea">
<!-- if this rule matched, then the node found by
the rule is our starting point for inserting the error message(s). -->
<!-- can be any of "before", "after" or "child" (to
insert as prev, next sibling or last child) -->
<ae:parameter name="location">after</ae:parameter>
<!-- a container groups all errors for one element.
${errorMessages} is a string containing all errors (see below) -->
<ae:parameter name="container"><![CDATA[<div
class="errors">${errorMessages}</div>]]></ae:parameter>
<!-- this defines the HTML for each individual error
message; those are then put into the container. ${errorMessage} is the error
message string -->
<ae:parameter name="markup"><![CDATA[<p
class="error">${errorMessage}</p>]]></ae:parameter>
</ae:parameter>
<!-- all other inputs - note how we select the parent
element and insert ourselves as last child of it -->
<ae:parameter name="parent::*">
<ae:parameter name="location">child</ae:parameter>
<ae:parameter name="container"><![CDATA[<div
class="errors">${errorMessages}</div>]]></ae:parameter>
<ae:parameter name="markup"><![CDATA[<p
class="error">${errorMessage}</p>]]></ae:parameter>
</ae:parameter>
</ae:parameter>
<!--
<ae:parameter name="multi_field_error_messages">
</ae:parameter>
-->
<!-- everything that did not match any of the rules above,
or errors that do not belong to a field -->
<ae:parameter name="error_messages">
<!-- insert before the element -->
<!-- that can be an input, or a form, if the error does
not belong to a field or didn't match anywhere else -->
<ae:parameter name="self::*">
<ae:parameter name="location">before</ae:parameter>
<!-- no container here! we just insert paragraph
elements -->
<ae:parameter name="markup"><![CDATA[<p
class="error">${errorMessage}</p>]]></ae:parameter>
</ae:parameter>
</ae:parameter>
</filter>
Vikram
_______________________________________________
users mailing list
[email protected]
http://lists.agavi.org/mailman/listinfo/users