RichFaces Validator

Pessoal eu tenho o seguinte botão:

<a4j:commandButton rendered="#{generoMB.bean.idGenero == null}" value="#{msg.incluir}" actionListener="#{generoMB.navIncluir}" reRender="rcCentro"/>

e a seguinte input:

<h:inputText id="edtDescricao" value="#{generoMB.bean.descricao}" required="true"> <f:validateLength minimum="3" maximum="20"/> <rich:ajaxValidator event="onblur" /> </h:inputText>

Em um lugar da pagina também exibo as msgs assim: <rich:messages />

Gostaria de saber como faço para impedir que o botao funcione qdo tiver mensagens de erro impressa!
E se possivel exibir um modal form como este:

<rich:modalPanel id="pendencias" autosized="true" width="300" height="80" moveable="false" resizeable="false" > <f:facet name="header"> <h:outputText value="Atenção!" /> </f:facet> <h:panelGrid columns="3" styleClass="defaultPanelGridDireita"> <h:graphicImage value="/imagens/botoes/error48.png"/> <rich:spacer width="10"/> <h:outputText value="Antes de prosseguir resolva as pendencias!" /> </h:panelGrid> </rich:modalPanel>

Vlw pessoal… qualquer ajuda ficarei grato!

Não querendo ser chato já … Você tentou fazer o que ocorre ?

Isto é o que está pronto!
Mas mesmo com mensagens de erro o metodo definido no actionlistener é chamado. E isto não pode ocorrer em hipotese alguma, caso exista validações!

E a segunda dúvida é chamar o modalform em caso de existir validações!

Tenho uma outra dúvida: Quando ocorre um error em uma chamada ajax na view não acontece nada… é possivel exibir alguma coisa para o usuário?

Bom eu fiz isso mais ou menos assim !

Vai depender do Erro ! tu pode da um rerender em um componete ! ou mandar para :

&lt;a4j:region id="regiaoAjax"&gt;
                            &lt;a4j:status id="sts"&gt;
                                &lt;f:facet name="start"&gt;
                                    &lt;h:graphicImage value="/images/ajax-loader_1.gif" /&gt;
                                &lt;/f:facet&gt;
                            &lt;/a4j:status&gt;
                        &lt;/a4j:region&gt;

Putz é exatamente o que eu quero!
Mas não entendi nada do seu código… pode me dar uma explicada?
Não sei muito bem como funciona os componentes a4j:region e a4j:status…

E é possivel usando actionListener ou tem q ser action?

Desde já obrigado…