I am removing tomahawk from my application.
One of the tags that I use is <t:buffer>
<t:buffer into="#{errorFieldMessage}"><h:message for="#{id}" /></t:buffer> <h:inputText title="#{errorFieldMessage}" id="#{id}" value="#{value}" class="#{width} #{(! empty errorFieldMessage) ? 'redbg' : ''}" rendered="#{editable}"/>
If you are using Seam 1.2.1.GA then the templated s:decorate which includes a #{invalid} variable which evaluates to true if there is an error message