Problema com required e atualização do form com ajax

2 respostas
W

Opa,bom dia
minha pagina é a a seguinte:

<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:rich="http://richfaces.org/rich"
      xmlns:a4j="http://richfaces.org/a4j"
      >
    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    </h:head>
    <h:body>
        <h:form >
            RA: <h:inputText id="ra" value="#{managedBean.aluno.matricula}" />            
            <br/>
            Nome:  <h:inputText value="#{managedBean.aluno.pessoal.nome}"  />
            <br/>
            Mensagem  <h:inputText value="#{managedBean.mensagem.mensagem}" id="mensagem" required="true" requiredMessage="Campo Obrigatorio"  />
            <br/>
            <a4j:commandButton action="#{managedBean.consultaAluno}"  value="consultar" execute="ra" render="@form"/>
            <a4j:commandButton action="#{managedBean.alterarMensagem}"  value="alterar" render="@form" />
            <h:messages/>
        </h:form >
    </h:body>
</html>

Vou explicar passo a passo para vocês entenderem:
1 - Eu coloquei um código no campo 'ra' e pressionei o botão "Consultar" , ele executa a ação no ManagedBean e retorna o objeto preenchendo todo meu form corretamente.
2 - Pressiono o botão 'alterar' , ele exibe uma mensagem dizendo que o campo "Mensagem" é obrigatório, até aí tudo bem
3 - Aqui é onde o problema ocorre se eu mudar o código no campo 'ra' e pressionar o botão "Consultar" ele executa a ação no ManagedBean, mas não atualiza os campos 'Mensagem' e "Nome".

É um bug no required do jsf ou eu estou fazendo errado?

2 Respostas

Z

Olá wanderman,

Tenta usar o reRender no botão, ai você coloca o id dos caras que vc qr q dê um reRender.

abss

W

Então eu já estou usando o render do jsf 2.0 e o @form é pra atualizar o form inteiro.

Criado 6 de maio de 2011
Ultima resposta 6 de mai. de 2011
Respostas 2
Participantes 2