Consider http://java.sun.com/javaee/javaserverfaces/1.0/docs/api/javax/faces/context/FacesContext.html#getMessages() usage to inspect all messages. Note that messages can be queued for another errors, so it's better to implement PhaseListener and watch if VALIDATE_VALUES phase was the last one before RENDER_RESPONSE. Phase listener approach won't work right if you have immediate input components.
also in xhtml page if you want to know
true if no errors
I will look into both...