Dúvida com Required No JSF

Bom Eu tenho 2 Blocos Na Página. um fica habilitado qdo eu clico num checkbox…
Alguns campos nesse bloco bloqueado são required=“true”…
Alguem tem ideia d como eu posso fazer, alguma opção sei lá…
que eu possa escolher se eu faço ou não a verificação dos campos???

Quem puder Ajudar Muito Obrigado :smiley:

Trabalhe com forms distintos para os blocos, ou use o atributo ajaxSingle, caso estiver usando richfaces.

Aé eskeci d dizer oq estou usando…
To Usando Richfaces sim…
mas cara essa tag ajaxSingle…
Pra q serve ja vi muito mas n tenho nem ideia.

A tag ajaxSingle serve para dizer que somente aquele componente vai ser submetido ao servidor.

boolean attribute which provides possibility to limit JSF tree processing(decoding, conversion/validation, value applying) to the component which send the request only. Default value is “true”

ou seja… somente o componente q enviou a request sera preocessado … pode ser o form que vc quer enviar os dados…

Tipo Entendi Mais o Menos kkkk…

Vai eu tenho esse Código

<a4j:outputPanel id="panelResponsavel">
						
						<h:selectBooleanCheckbox id="cadLiberado" value="#{mbPessoaFisica.responsavel.cadLiberado}" style="position:absolute; left: 179px; top: 614px; width: 37px;" 
							immediate="true">
							<a4j:support event="onclick" reRender="panelResponsavel" action="#{mbPessoaFisica.camposResponsavel}"/>
						</h:selectBooleanCheckbox>
						      
					
						 <input jsfc="h:inputText" value="#{mbPessoaFisica.responsavel.nome}" disabled="true" binding="#{mbPessoaFisica.nomeResp}" required="true"
								class="forms_cadastro" id="nomeResponsavel" type="text" style="position:absolute; left: 193px; top: 679px; width: 405px;" maxlength="200"  />
						
					</a4j:outputPanel>	       

O Metodo Campos Responsavel Deixa eles Habilitados e Desabilitados…
o Problema eh q quando eu tento salvar o Cliente e ele não tem responsavel… os campos estão desabilitados e o checkbox tb…
e o required=“true” do campos Responsavel.nome não poderia disparar…

Acho q fico 1 pkin mais claro ;D…

Colokei AjaxSingle=“true”…
Tipo Ele não aparece mais as mensagens…
Mas o problema eh q qdo o checkbox tiver true… ele tem q aparecer as mensagens…

[quote=colored]Colokei AjaxSingle=“true”…
Tipo Ele não aparece mais as mensagens…
Mas o problema eh q qdo o checkbox tiver true… ele tem q aparecer as mensagens…[/quote]

Tenta controlar as mensagens no page bean, ou entao tenta utilizar o atributo immediate, ele efetua uma acao no page bean, pulando a fase de validação dos componentes, nao sei se é exatamente isso que voce esta querendo fazer.

Você pode colocar no atributo “required” a mesma condição que coloca para o bloco aparecer, exemplo:

<..... requered="#{seuBBean.mostraBloco1}">ou

<..... required="#{seuBBean.tipoBloco == 1}" >

Spycall estou com esse problema agora, tentei fazer o que vc disse:

<..... required="#{seuBBean.tipoBloco == 1}" >

só que não deu certo, porque o bean não é setado antes da validação, vc tem alguma idéia de como fazer isso?

Você deve deixar um valor default no seu atributo do seu bean, tipo:[code]
public class SeuBBean{

 private int tipoBloco = 1;

 public getTipoBloco() ...

 public setTipoBloco(int tipo) ....

}[/code]
Assim o seu BBean já estará setado quando você entrar na página

Você também pode usar o immediate, tipo:[code]
<… required=“true” immediate="#{seuBBean.tipoBloco != 1}" >

[/code]Eu usaria no immediate, assim ele não validará nada, não só se o campo é obrigatório, mas também qualquer outra validação que você colocar para esse campo.