Boa tarde!
Uso Ajax4jsf/JSF/Facelets e tenho enfrentado problemas em relação à validação do JSF. Por exemplo, no código abaixo eu tenho dois elementos , um para o usuário entrar com sigla da disciplina e outro para o ano/período em que a disciplina está sendo cursada. Ambos são marcados como “required”. No da sigla da disciplina tenho um aj4:support vinculado ao evento onblur para fazer uma requisição Ajax para buscar o nome da disciplina, caso exista.
[code]
<legend>Dados da Turma</legend>
<p>
<label jsfc="h:outputLabel" for="siglaDisciplina">Disciplina</label>
<h:inputText id="siglaDisciplina" value="#{turma.siglaDisciplina}" size="8"
valueChangeListener="#{turma.siglaDisciplinaSelecionada}"
required="true" requiredMessage="A sigla da disciplina é obrigatória"
binding="#{turma.siglaDisciplinaInput}">
<a4j:support id="ajax1" event="onblur" reRender="descricaoDisciplina"/>
</h:inputText>
<h:outputText styleClass="emLinha" id="descricaoDisciplina" value="#{turma.disciplina.descricao}"
binding="#{turma.descricaoDisciplinaOutput}"/>
</p>
<p>
<label jsfc="h:outputLabel" for="anoPeriodo">Ano/Período</label>
<input jsfc="h:inputText" type="text" id="anoPeriodo" maxlength="7" size="7"
value="#{turma.turma.anoPeriodo}"
onkeypress="mascaraAnoPeriodo(this, event)"
required="true" requiredMessage="O ano/período é obrigatório"/>
</p>
[/code]
O problema é que se o campo para ano/período estiver vazio, a requisição Ajax não é realizada devido ao fato de que a validação JSF (required) não é contemplada. Caso o ano/período seja preenchido, a requisição é realizada sem problemas. Já tentei colocar no a4j:support o atributo immediate=“true”, mas nesse caso a requisição não é feita de jeito nenhum, nem com o ano/período preenchido.
Alguém poderia ajudar?