Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

JSF

Bom dia estou com um problema na hora de renderizar um componente aqui está meu código:

 <body>     <h:form>         <div style="width: 25%; padding-top: 50px;">             <p:panel header="Cadastro" style="padding:0px; border:0;">
>                 <h:messages id="menssages" />
>                 <h:panelGrid id="gridLogin" columns="2">
> 
>                     <h:outputLabel value="User Id:" for="user" />
> 
>                     <p:inputText id="user" style="width:130px;"
>                         value="#{cadastroBean.cadastro.userid}" required="true"
>                         requiredMessage="O Campo UserId é obrigatório" />
> 
>                     <h:outputLabel value="Pin:" for="pin" />
> 
>                     <p:inputText id="pin" style="width:130px;"
>                         value="#{cadastroBean.cadastro.pin}" required="true"
>                         requiredMessage="O Campo Pin é obrigatório" maxlength="10" />
> 
>                     <h:outputLabel value="Password:" for="password" />
> 
>                     <p:password id="password" style="width:130px;" feedback="true"
>                         weakLabel="easy" goodLabel="middle" strongLabel="hard"
>                         value="#{cadastroBean.cadastro.passwordValue}" maxlength="20"
>                         requiredMessage="Campo Password Obrigatório" required="true" />
> 
>                     <p:commandButton value="Gravar" title="Grava"
>                         action="#{cadastroBean.gravar}">
>                         <f:ajax execute="@form" render="@form" />
>                     </p:commandButton>
> 
> 
>                     <p:commandButton value="Pesquisar" title="Pesquisa"
>                         action="#{cadastroBean.pesquisar}">
>                         <f:ajax execute="user, pin" render="menssages" />
>                     </p:commandButton>
>                 </h:panelGrid>             </p:panel>         </div>     </h:form> </body> </html>

Gostaria de saber se eu posso deixar meu desse jeito?

7 respostas

o componente que dá o erro é esse

<f:ajax execute="user, pin" render="menssages" />

gostaria de saber se eu posso colocar dois parâmetros no execute?

pois aqui dá um erro de "contains an unknown id 'user,'"

Olá Adler! Com JSF 2.0 os ID's dos elementos são separados por espaço, não vírgula.

O correto é:

<f:ajax execute="user pin" ......>

Quem usa vírgula é o Richfaces 3.0! Abraço!

Muito obrigado, funcionou.

Mas tem um porém ele só valida o campo que eu pedi,só que ele só entra no campo se os outros campos estiverem preenchidos, como faço para solucionar esse problema?

Ele só validará o que você submeter na requisição através do <f:ajax execute...>. Em outras palavras, a fase de PROCESS_VALIDATION só considera o que você enviou na requisição.

Tem um porém com o componete não funciona só funciona esse

Tem um porém com o componente <p:commandButton/> não funciona só funciona com <h:commandButton/>, mas eu queria usar o <p:commandButton/> o que eu devo fazer?

solução!

Com p:commandButton você não deve usar f:ajax. Use <p:commandButton process="seus ids" update="seus ids"/>

O atributo process equivale com execute e o atributo update equivale ao render.

Se isso resolver seu problema, não deixe de marcar como solucionado. Abraço