Custom validation of required input fields in JSF
The premise of a JSF Validator (javax.faces.validator.Validator) is that by default it will only be invoked whenever a value is entered in an associated input field. This makes sense, since validating an empty or unchanged value is mostly just a waste of CPU cycles.