a4j:support + combobox com required="true"

Olá, estou com o seguinte problema. Já procurei em outros fóruns e não encontrei algo que esclarecesse esta dúvida.

Estou selecionando um valor em uma combobox cujo atributo required é igual a “true”.
Esta combobox possui a4j:support para eventos “onchange”, que neste caso irá renderizar outros componentes da tela e executar uma ação específica.

Quando eu seleciono um valor qualquer da lista, tudo ocorre perfeitamente. Os valores são setados, os componentes são renderizados e a ação é executada.

Mas, após ter selecionado um valor válido, eu seleciono o valor default (neste caso, “Selecione…”) que por padrão, tem seu valor nulo.
Neste momento, uma mensagem é escrita no console:

17:00:49,031 INFO [lifecycle] WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=crudQuestaoAbertaForm:tp3_processoSeletivoDecor:tp3_processoSeletivo[severity=(ERROR 2), summary=(Valor obrigatório), detail=(Valor obrigatório)]

Ou seja, o framework tentou validar a combobox e como o valor da seleção era nulo, uma mensagem foi escrita no console e o resto do que tinha que ser executado foi ignorado. Não setou o valor da combobox no backing bean, não renderizou outros componentes e não executou a ação definida no a4j:support

Como deve ser utilizado o a4j:support para que as validações não interfiram em requisições ajax?
Obrigado a todos.

colega coloque aqui se possível o códido do seu comboBox…e do seu Bean onde processa o valor escolhido…
sem o código fica difícil analisar seu problema…
flw

Lá vai.


<a4j:form>
    <a4j:region>

        <h:selectOneMenu id="combo1" value="#{testeManager.objetoA}" required="true">
            <s:convertEntity/>
            <s:selectItems value="#{testeManager.objetosTipoA}" var="obj" noSelectionLabel="Selecione..." label="#{obj.nome}"/>
            <a4j:support event="onchange" reRender="combo2" action="#{testeManager.acao1}" ajaxSingle="true"/>
        </h:selectOneMenu>

        <h:selectOneMenu id="combo2" value="#{testeManager.objetoB}" required="true">
            <s:convertEntity/>
            <s:selectItems value="#{testeManager.objetosTipoB}" var="obj" noSelectionLabel="Selecione..." label="#{obj.nome}"/>
            <a4j:support event="onchange" reRender="txtEndereco" action="#{testeManager.acao2}" ajaxSingle="true"/>
        </h:selectOneMenu>
    </a4j:region>
</a4j:form>

obs.: o nome dos campos e atributos de estilo foram alterado/removidos para facilitar a visualização.

hum…ok…
me diga como está tratando no seu backing bean esta action…coloque aqui seu método…

action="#{testeManager.acao1}"

Ocorreu um problema semelhante comigo, que foi solucionado com a remoção do atributo ajaxSingle. Porém, resta a dúvida: por quê?