Problemas com validação dinâmica dos campos com jsf

6 respostas
TiagoS

tenho em meu formulário dois campos A e B, onde o A é um radioBox e o B um textArea. Pois bem, preciso que quando o radioBox A for selecionado o textArea B se torne obrigatório, e quando A não estiver selecionado o B pode ser deixado em branco. Uso o required=“true” para tornar os campos obrigatórios, só que nesse caso específico não sei como fazer.

Alguém pode me ajudar, por favor?

6 Respostas

A

TiagoS para você realizar essa validação no front-end você teria que usar JavaScript e eu não sei se é uma boa ideia.E se você validar o seu form no seu ManagedBean, quando o radiobutton estiver selecionado e o textarea não estiver preenchido você pode lançar uma exception ou só uma mensagem na pilha do JSF.

TiagoS

Se tivesse um jeito de carregar o Bean antes de fazer a validação eu acho que daria certo dai o código ficaria mais ou menos assim:

<h:selectOneRadio value="#{bean.resposta}"
        <f:selectItem itemLabel="SIM" itemValue="1"/>
        <f:selectItem itemLabel="NÃO" itemValue="2"/>
</h:selectOneRadio>

<h:inputTextarea required="#{bean.resposta == 1}">
Flavio_machine

Usa o richfaces.

TiagoS

Como que eu faria isso Flavio? Me desculpe mas sou iniciante ainda.

Flavio_machine

Então ja começa a usar o richfaces vc nao vai se arrepender. Procura alguma coisa nmo google do tipo, integrando tom cat com jsf richfaces e eclipse, de acordo com suas preferencias.
Procura tb por demo richfaces tem um pdf da documentação.
Porém acho que seria bom vc estudar ele um pouco.
Inté

TiagoS

consegui resolver me problema, segue o código para quem tiver a mesma duvida

<h:selectOneRadio value="#{bean.resposta}" id="rep">
        <f:selectItem itemLabel="SIM" itemValue="1"/>   
        <f:selectItem itemLabel="NÃO" itemValue="2"/>   
</h:selectOneRadio>   
  
<h:inputTextarea required="#{param['nome_do_form:rep] == 1}">
Criado 1 de dezembro de 2010
Ultima resposta 2 de dez. de 2010
Respostas 6
Participantes 3