Super! Das Snippet von Sven hilft schon!
Muss es nur noch hin bekommen das nicht bei allen divs (wo ich den code eingefügt habe) nun die Farbe gewechselt wird, sondern nur bei denen mit der Fehlermeldung des beinhaltenden Feldes....
Dachte es geht einfach in dem ich die var name ändere, klappt aber leider nicht. Ist jemand von den Meistern hier so nett und kann mir verraten warum?
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:messages id="messages1"></xp:messages>
<xp:div>
<xp:this.style><![CDATA[#{javascript:
var style = "background-color:rgb(128,0,255)";
var cids = facesContext.getClientIdsWithMessages();
while( cids.hasNext() ){
var id = cids.next();
if( facesContext.getMessages( id ) != null ) return style;
}
}]]>
</xp:this.style>
<xp:inputText id="inputText1" required="true">
<xp:this.validators>
<xp:validateRequired message="Fehler Feld 1"></xp:validateRequired>
</xp:this.validators></xp:inputText>
</xp:div>
<xp:div>
<xp:this.style><![CDATA[#{javascript:
var style2 = "background-color:rgb(128,0,0)";
var cids2 = facesContext.getClientIdsWithMessages();
while( cids2.hasNext() ){
var idx = cids2.next();
if( facesContext.getMessages( idx ) != null ) return style2;
}
}]]>
</xp:this.style>
<xp:inputText id="inputText2" required="true">
<xp:this.validators>
<xp:validateRequired message="Fehler Feld 2"></xp:validateRequired>
</xp:this.validators></xp:inputText>
</xp:div>
<xp:button value="Beschriftung" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button></xp:view>