This one almost made me break my keyboard:
I have multiple fields in a JSF 2 (Rich Faces) Page. Each field with one
<aj4:ajax> Element, which acts on value changes
Each ajax request made the error messages from the other fields disappear, even if the value was still invalid.
The solution was to add the attribute
<rich:message id="messageId" for="myfield" styleClass="errorMessage" ajaxRendered="false"/>