<h:selectOneMenu value="#{form.country}" onchange="submit()"immediate="true" valueChangeListener="#{form.countryChanged}"> <f:selectItems value="#{form.countryNames}"/> </h:selectOneMenu>
then conversion and validation for that component will occur during the Apply Request Values stage and not during the Process Validations stage: JSF life cycle with immediate components.
However, the listener must explicitly jump to the Render Response phase, as in this countryChanged method.
The call to renderResponse() skips the rest of the cycle life—including validation of the rest of the input components in the form —up to the Render Response phase.