rich:messages is an extension for a standard h:messages component. In addition to what the standard component provides, rich:messages:

- does not require to be wrapped with a4j:outputPanel in order to be rendered during the Ajax requests
- allows to have one "passed" or a few "failed" markers before the text labels
- has a predefined css class names for different kinds of messages severities

The message markers is defined with facets. There are several facets names available to design the marker for different kind of messages severities. The following example shows how the markers might be used to mark the "passed" and "failed" form fields. Fill the form and click the "Validate" button to see the entered data passing the defined validation rules.

Form validation using rich:messages example