observerattribute points to a control to observe. That control and all the descendants of that control are surveyed for changes in validity:
<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
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
valid-ref:whether the sub-form is valid or not
fr-visit-allevent to the error summary. This:
<fr:error-summary>has an id:
/your-all/ops/images/xforms/exclamation.pngif you are not in separate deployment, and
/your-app/orbeon/ops/images/xforms/exclamation.pngif 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-allevent to the error summary. This:
page-sizeattribute can also be used on the component when used outside of Form Runner.
fr:errorselement takes a
nodesetattribute 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:alertelements are evaluated relative to each node in the node-set. They return respectively:
incremental="false"attribute, errors only show on demand with the
<xf:refresh>action before dispatching
fr-update, so that the UI captures all the valid/invalid states: