disable h:commandButton como resultado de um rich:message  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

oi,

eu tenho um h:panelGrid com alguns campos, estou validando eles usando rich:message algo assim



é possivel eu setar um disable no commandButton para ele chamar o metodo do meu Bean apenas qdo a validacao do rich:message passar por todos os campos??

pensei em fazer isso usando javascript colocando em um onclick, mas não sei se seria a melhor opção..

alguém tem uma sugestão??


tks

Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
Requena
Debugger
[Avatar]

Membro desde: 18/02/2010 16:52:07
Mensagens: 66
Offline

cara vc pode por uma expressão dentro do disable... tipow...



ai tipo... enquanto o getValidaBotao retornar true o botão vai estar disable.... ai vc controla tudo dentro do bean navegacao..

isso resolve?

This message was edited 1 time. Last update was at 22/02/2010 20:24:20

André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

Requena wrote:cara vc pode por uma expressão dentro do disable... tipow...



ai tipo... enquanto o getValidaBotao retornar true o botão vai estar disable.... ai vc controla tudo dentro do bean navegacao..

isso resolve?


oi,

entendi, mas como eu faço com o valor deo validaBotao no Bean? este valor depende do rich:message, ou seja, enquanto ele retornar false o validaBotao deve ser false tb

abs

Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
Requena
Debugger
[Avatar]

Membro desde: 18/02/2010 16:52:07
Mensagens: 66
Offline

não entendi o q vc disse cara...
mas tipo...
no rich coloca um a4j:support mais ou menos assim



nesse caso no metodoValidaBotao vc pega o valor do rich e verifica se é o que quer se for vc seta o boolean de retorno do validaBotao para false e da um reRender no button, quando ele invocar novamente o get do validaBotao vai estar false o e button ficara clicavel...

o event do a4j eu nao lembro de cabeça qual tem disponivel da um ctrl+espaço q ele mostra todos os eventos do rich...
resumindo.... vc pode pegar todos os eventos de um componente acima do a4j support no nosso caso todos os eventos possiveis do rich:message.

serve?
André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

oi,

entao, eu preciso que o action do commandLink seja executado apenas quando a validacao dos campos passou, no caso pegando o evento dos rich:message acho que já é o suficiente

vou testar a sua sugestão aqui e depois retorno

vlw

Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
Requena
Debugger
[Avatar]

Membro desde: 18/02/2010 16:52:07
Mensagens: 66
Offline

Seguinte,

essa forma que eu ti passei é a mais porca para a ocasião..
no seu caso... acho que seria interessante lançar um f:validator

da uma olhada nesse site que da para entender como funciona...

http://www.ibm.com/developerworks/java/library/j-jsf3/index.html

resumao!!

com o f:validator o jsf antes de dar o action do botao testa todos os validators,
caso nao retorne nenhum erro e todos os campos forem validados com sucesso,
o action é acionado... caso contrario ele retorna uma msg de erro para o usuario...

acho que é isso que vc precisa...
da uma olhada... tem alguns prontos ja na lib... talvez ja resolva o seu problema...
alias
Virtual Machine Man

Membro desde: 11/06/2007 11:09:34
Mensagens: 595
Offline

Requena wrote:Seguinte,

essa forma que eu ti passei é a mais porca para a ocasião..
no seu caso... acho que seria interessante lançar um f:validator

da uma olhada nesse site que da para entender como funciona...

http://www.ibm.com/developerworks/java/library/j-jsf3/index.html

resumao!!

com o f:validator o jsf antes de dar o action do botao testa todos os validators,
caso nao retorne nenhum erro e todos os campos forem validados com sucesso,
o action é acionado... caso contrario ele retorna uma msg de erro para o usuario...

acho que é isso que vc precisa...
da uma olhada... tem alguns prontos ja na lib... talvez ja resolva o seu problema...


Lembrando que pra isso acontecer seus campos devem estar dentro de um form, que uma vez submetido, o ciclo de vida do JSF vai fazer as validações necessárias ANTES de chamar o action do seu commandLink.
Requena
Debugger
[Avatar]

Membro desde: 18/02/2010 16:52:07
Mensagens: 66
Offline

alias wrote:
Requena wrote:Seguinte,

essa forma que eu ti passei é a mais porca para a ocasião..
no seu caso... acho que seria interessante lançar um f:validator

da uma olhada nesse site que da para entender como funciona...

http://www.ibm.com/developerworks/java/library/j-jsf3/index.html

resumao!!

com o f:validator o jsf antes de dar o action do botao testa todos os validators,
caso nao retorne nenhum erro e todos os campos forem validados com sucesso,
o action é acionado... caso contrario ele retorna uma msg de erro para o usuario...

acho que é isso que vc precisa...
da uma olhada... tem alguns prontos ja na lib... talvez ja resolva o seu problema...


Lembrando que pra isso acontecer seus campos devem estar dentro de um form, que uma vez submetido, o ciclo de vida do JSF vai fazer as validações necessárias ANTES de chamar o action do seu commandLink.


nem achei necessário citar a necessidade de um form pos sem isso nada da submit. é igual lembrar que tem de por o public class na classe java.... .... hehehe....mas ta certo é isso ae....

This message was edited 1 time. Last update was at 23/02/2010 10:53:52

André Fonseca
JWizard
[Avatar]

Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline

opa,

sim, os meus campos estão dentro de um form, vou dar uma olhada no f:validator

vlw

Você é novo no GUJ?


Como fazer perguntas?



www.twitter.com/_afonseca
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team