posted 13 years ago
Welcome to the JavaRanch, Piers!
There are 2 message-display JSF tags, One is for a single control (message for="ctlId") and the other is for messages in general (<h:messages>). To add your own custom messages, you can obtain the FacesContext in your action processor, create a Faces Message object, and add it to the FacesContext messages collection using JSF API calls.
JSF's built-in validation framework will run before the action processor is invoked. Items which fail built-in validators will be flagged with error messages and the action processor won't be invoked, so if you're adding "second-stage" validation in the action processor, it will only be run if the primary validations all succeed.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.