Требуется ли активный индекс в locationInfoTab или на вкладке аккордеона1?
Я немного протестировал и изменил ваш код, чтобы получить активный индекс для обоих:
<h:form id="tabViewForm">
<p:tabView id="tabView" activeIndex="#{profileInfoManagedBean.myCurrentTab}" >
<p:ajax event="tabChange" listener="#{profileInfoManagedBean.tabIsChanged}" update=":tabViewForm"/>
<p:tab id="locationInfoTab" title="Location Info">
<p:accordionPanel id="aPanel" activeIndex="#{profileInfoManagedBean.myCurrentAccordionTab}">
<p:ajax event="tabChange" listener="#{profileInfoManagedBean.tabIsChanged}" update=":tabViewForm" />
<p:tab id="tab1" title="Country">
<h:form id="form1">
.
.
.
<p:inputText id="country" value="#{profileInfoManagedBean.country.name}" required="true" label="Country">
<f:validateLength minimum="5" maximum="20" />
<p:ajax event="blur" update="country msg1 growl messages"></p:ajax>
</p:inputText>
.
.
.
</p:accordionPanel>
</p:tab>
<p:tab id="tab2" title="Tab Information">
</p:tab>
</p:tabView>
</h:form>
Я добавил событие изменения вкладки на панель аккордеона, обновил tabViewForm при изменении вкладок, обновил сообщения при изменении ввода и добавил еще одну вкладку для тестирования.
Я думаю, что исходная проблема в том, что валидатор в поле ввода вызывал ошибку, но представление не обновлялось, чтобы показать вам сообщение.
При обновлении формы при смене вкладки сообщение об ошибке валидатора сбрасывается.
Надеюсь, это поможет вам.