Validator dentro de um selectOneMenu em cadeia não é executado?

Caros Amigos, estou há dias tentando descobrir o porquê do meu validator em um selectOneMenu não funcionar. Será que alguém tem alguma idéia? Já verifiquei os valores enviados e está tudo ok mas o método validator não é executado. Os selectOneMenu vão sendo exibidos a medida que são preenchidos controlados pelo array vetExibir[] Segue abaixo o código, e muito obrigado por qualquer esforço empreendido.

<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>
<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich”%>
<%@ taglib uri=“http://easyfaces.com.br/easyfaces” prefix=“easy” %>

        <f:loadBundle basename="actions.prompt" var="msgs"/>
        <title><h:outputText value="#{msgs.titulo}"/></title>
        <script type="text/javascript" src="../scripts/menu/stmenu.js"></script>
        <script type="text/javascript" src="../scripts/outrasFuncoes/funcoesUteis.js"></script>
            <div id="container"> 
                <div id="header">
                    <img src="../images/titulo.gif" width="800" height="100" />  
                </div>
                <div id="menu">
                  	<script type="text/javascript" src=${sessionScope.tipoMenu}></script>
                <h:form id="planoOrcFormInterno">
            			<br>
            			<br>
            			<a4j:keepAlive beanName="planoOrcForm"/>
            			<h:panelGrid id="gridTotal" columns="1" border="1" rules="groups" title="Inclusão do Plano Orçamentário" width="759" style=" height : 249px;">
								<f:facet name="header">
									<h:outputText value="#{msgs.planoOrcCabecalhoInclusao}" />	
								</f:facet>
								<h:messages globalOnly="true" style="color: red" />
								
								<h:panelGroup>
									<h:outputText value="#{msgs.promptGrupoDePesquisa}" />
									<h:selectOneMenu valueChangeListener = "#{planoOrcForm.recuperaPIeObjetivos}" id = "grupo" value="#{planoOrcForm.idGrupo}">
										<f:selectItems value="#{planoOrcForm.listaDeGrupos}" />
										<a4j:support event = "onchange" reRender = "objetivo"/>
								    </h:selectOneMenu>					    								
							    </h:panelGroup>
							     
								<h:panelGroup id="objetivo">
									<h:outputFormat id="pi" value=" #{msgs.promptCodPi} {0}" rendered="#{exibirTelaBean.vetExibir[0]}">     
										<f:param value="#{planoOrcForm.codPi}" />
									</h:outputFormat>
									<f:verbatim>&nbsp;&nbsp;&nbsp;&nbsp;</f:verbatim>	
									<h:outputText value="#{msgs.promptCodObjetivo}" rendered="#{exibirTelaBean.vetExibir[1]}"/>
								    <h:selectOneMenu  valueChangeListener = "#{planoOrcForm.recuperaObjetivosInt}" value="#{planoOrcForm.idObj}" rendered="#{exibirTelaBean.vetExibir[1]}">
										<f:selectItems value="#{planoOrcForm.listaDeObjetivosConvertidos}" />
										<a4j:support event = "onchange" reRender = "objetivoInt"/>
									</h:selectOneMenu>
								</h:panelGroup>
								<h:panelGroup id="objetivoInt" >
									<h:outputText value="#{msgs.promptCodObjetivoInt} " rendered="#{exibirTelaBean.vetExibir[2]}"/>
								    <h:selectOneMenu  valueChangeListener = "#{planoOrcForm.recuperaAcao}" value="#{planoOrcForm.idObjInt}" rendered="#{exibirTelaBean.vetExibir[2]}" >
										<f:selectItems value="#{planoOrcForm.listaDeObjetivosIntConvertidos}" />
										<a4j:support event = "onchange" reRender = "acao, nd, area, credEstimado, botoes"/>
									</h:selectOneMenu>
								</h:panelGroup>
								<h:panelGroup id="acao" >
									<h:outputText value="#{msgs.promptCodAcao}" rendered="#{exibirTelaBean.vetExibir[3]}" />
								    <h:selectOneMenu  id="acaoOneMenu" value="#{planoOrcForm.idAcao}" rendered="#{exibirTelaBean.vetExibir[3]}" style=" width : 313px;">
								    	[color=red]<f:validateLongRange minimum = "10" maximum = "15"/>
								    	<f:validator validatorId = "ValidadorCodigoAcao"/>[/color]
										<f:selectItems value="#{planoOrcForm.listaDeAcoesConvertidas}" />
									</h:selectOneMenu>
									<h:message for="acaoOneMenu" showSummary="true" showDetail="false" style="color: red" />
								</h:panelGroup>
								<h:panelGroup id="nd" >
									<h:outputText value="#{msgs.promptCodND}" rendered="#{exibirTelaBean.vetExibir[3]}"/>
									<h:selectOneMenu id="ndOneMenu" value="#{planoOrcForm.idNd}" rendered="#{exibirTelaBean.vetExibir[3]}">
										<f:selectItems value="#{planoOrcForm.listaDeNDsConvertidos}" />
 										<f:validator validatorId = "ValidadorCodigoNd"/>
									</h:selectOneMenu>
									<h:message for="ndOneMenu" showSummary="true" showDetail="false" style="color: red" />
								</h:panelGroup>
								<h:panelGroup id="area" >
									<h:selectOneRadio value="#{planoOrcForm.area}" rendered="#{exibirTelaBean.vetExibir[3]}">
										<f:selectItem itemValue="interna" itemLabel="Area Interna"/>
										<f:selectItem itemValue="externa" itemLabel="Area Externa"/>
									</h:selectOneRadio>
								</h:panelGroup>
								<h:panelGroup id="credEstimado" >
									<h:outputText value="#{msgs.promptCreditoEstimado}" rendered="#{exibirTelaBean.vetExibir[3]}"/>
								
										<easy:inputCurrency id="credEst"
    										value= "#{planoOrcForm.credEstimado}"
    										required="true"
    										decimalSeparator=","
    										groupSeparator="."
    										useValidate="true"
    										returnDecimal="true" 
    										converterMessage="Valor Inválido!"
    										rendered="#{exibirTelaBean.vetExibir[3]}" />											
								     <h:message for="planoOrcForm:planoOrcFormInterno:credEst" showSummary="true" showDetail="false" style="color: red" />
								</h:panelGroup>   
						</h:panelGrid>
						<br>
						<h:panelGrid columns="2" id="botoes">
								<h:commandButton type="button" value="Incluir" action="#{planoOrcActions.incluirPlanoOrc}" style=" width : 65px; height : 24px;" rendered="#{exibirTelaBean.vetExibir[3]}"/> 
								<h:commandButton type="button" value="Cancelar" action="#{planoOrcActions.limparMensagem}" immediate="true" style=" width : 65px; height : 24px;" rendered="#{exibirTelaBean.vetExibir[3]}"/>
						</h:panelGrid>
					</h:form></div>
                <div id="mainContent" style=" width : 800px;">
                	      
				</div>
                <br class="clearfloat" />
                <div id="footer" align="center">
                    <p><h:outputText value="#{msgs.footer}"/></p>
                </div>
            </div>
		</h:form>
    </body>
 </f:view>	

A definição no faces-config

ValidadorCodigoAcao
validators.CodigoAcaoValidator

A classe Validator

public class CodigoAcaoValidator implements Validator
{
private int codAcao;
public CodigoAcaoValidator()
{ System.out.println(">>>>>>>>>>>>>>>>> Instanciou CodigoAcaoValidator");
}

public void validate(FacesContext contexto, 
		             UIComponent componente, 
		             Object valor)
	throws ValidatorException
{
	System.out.println(">>>>>>>>>>>>>>> Executou método validate de CodigoAcaoValidator");
	
	codAcao = Integer.parseInt(valor.toString());
	if (codAcao == 0)
	{
		//recuperando o texto da mensagem a partir do message bundle
		FacesContext context = FacesContext.getCurrentInstance();
		UIViewRoot viewRoot = context.getViewRoot();
		Locale locale = viewRoot.getLocale();
		
		Application app = context.getApplication();
		String appBundleName = app.getMessageBundle();
		
		ResourceBundle bundle = ResourceBundle.getBundle(appBundleName, locale);
		
		String texto = bundle.getString("erroValidacaoCodigoAcao");
		
		//FacesMessage mensagem = new FacesMessage
   		//                 (FacesMessage.SEVERITY_ERROR, texto, texto);
		
		FacesMessage mensagem = new FacesMessage(texto);
		
		throw new ValidatorException(mensagem);
	}
}

}

O Bean planoOrcFor é preenchido com uma List contendo a lista de ações sendo o primeiro da lista um item value = “0” e ItemLabel = “Escolha a ND”.