I am not yet aware of a "Best Practice" for cross field / form level validation.
That is, JSF validation is currently orientated to single field validation. IMO it gets ugly when you look at complex cross field / form level validation.
Old but still looks acurate to me
http://weblogs.java.net/blog/johnreynolds/archive/2004/07/improve_jsf_by_1.html
http://www.jroller.com/robwilliams/entry/jsf_multi_field_validation_not