We analyzed this issue, and it seems that JSF has the solution. The JSF specification defines several standard bundle keys, one of which is for required messages: javax.faces.component.UIInput.REQUIRED.
You should specify the resource bundle in the application’s faces-config.xml like that:
Then, put in the .properties file following key:
On suggest, you just have to set required="true", and use <h:messages/> tag to display your custom message.
We may still consider your request for a future release, if you need custom messages for each component.