You can always let the UI validate stuff like "this should be a valid number" and "must not be empty", and leave the context dependent validation to the action called like "This customer do not accept these kind of deliveries" etc.
I think it depends on how you look at it. For instance, you are trying to
use the JSF required="true" parameter to ease your development, but after
learning how that approach works I prefer to simply add an IF statement in
my handler code to test for the same thing so I can have uniform validation
(i.e. not have some of it in the UI layer and some in the controller layer).