observer
attribute points to a control to observe. That control and all the descendants of that control are surveyed for changes in validity:<xf:group>
.<xf:alert>
element. However, if it doesn't have one, the error summary still adds the control to the count of current errors.error-count-ref:
current number of errors in the sub-form (xs:integer)
.visible-errors-count-ref:
current number of visible errors in the sub-form. An error for a control is visible if the control has been visited by the user (xs:integer
).valid-ref:
whether the sub-form is valid or not (xs:boolean)
.fr-visit-all
event to the error summary. This:xforms-visited and
xforms-alert-active-visitedclasses
<fr:error-summary>
has an id:/your-all/ops/images/xforms/exclamation.png
if you are not in separate deployment, and /your-app/orbeon/ops/images/xforms/exclamation.png
if you use separate deployment. Note that it is better here to have a relative URL (adjusting the number of ..
in the path) rather than an absolute URL (starting with /your-app
), as a relative URL allows you to change the context of your application without having to change the CSS.fr-unvisit-all
event to the error summary. This:xforms-visited
and xforms-alert-active-visited
classespage-size
attribute can also be used on the component when used outside of Form Runner.<fr:header>
and <fr:footer>
elements:fr:errors
element takes a nodeset
attribute and iterates on a list of nodes containing information about global errors. If the node-set returned is empty, no global error is displayed.fr:label
(optional) and fr:alert
elements are evaluated relative to each node in the node-set. They return respectively:incremental="false"
attribute, errors only show on demand with the fr-update
and fr-clear
events.fr-update
event:fr-clear
event:<xf:refresh>
action before dispatching fr-update
, so that the UI captures all the valid/invalid states: