Dúvida JSF

6 respostas
D

Galera eu tenho a seguinte página:

<h:form>

	<h:outputLabel value="Nome: " />
	<h:inputText id="edtNome" value="#{crud.pessoa.nome}" required="true" requiredMessage="Nome é obrigatório" />
	<h:message for="edtNome" />

	<h:commandButton action="#{crud.salvar}" value="Salvar" />

	<h:dataTable value="#{crud.listaPessoa}" var="pessoa">

		<h:column>
			<f:facet name="header">
				<h:outputText value="Selecionar" />
			</f:facet>

			<h:selectBooleanCheckbox value="#{pessoa.selecionado}" immediate="true" />

		</h:column>

		<h:column>
			<f:facet name="header">
				<h:outputText value="Nome" />
			</f:facet>

			<h:outputText value="#{pessoa.nome}" />

		</h:column>

	</h:dataTable>
	
	<h:commandButton action="#{crud.excluir}" value="Excluir" immediate="true" />

</h:form>

Quando eu clico no botão salvar o JSF valida corretamente.

Quando eu marco algum item da lista e clico no Excluir o JSF não valida a página e também não popula o atributo selecionado do meu objeto.

Se eu tirar o immediate=true do botão Excluir com todos os campos preenchidos ele envia o popula o atributo selecionado.

Pergunta tem como fazer o JSF não validar a o required e enviar o atributo selecionado ?

6 Respostas

JonathanSSantos

Um coisa que tu poderia fazer é 2 forms!

<h:form>
//contendo a primeira parte
</h:form>

<h:form>
//contendo table
</h:form>

Se tu fizer isto funciona… não sei se é a melhor pratica!

D

Então kra pensei nas seguintes opções:

2 forms igual vc falou
Validar no Java

Mas eu queria saber se alguém sabe as formas que o JSF tem para validar formulários, ou se só existe essa forma de validar automaticamente.

LPJava

vc marcou o campo como required=true e quer q ele nao valide? seria isso? aqui eu criei um form botei o campo como de input como true, e este campo nao permite ficar em branco, mas como eu coloquei immediate=true no cancelar, ele passa pelo forme e vai para outra pagina por exemplo.

JonathanSSantos

Mais ele falou que ja fez isso…

E funcionou… mais ele nao quer fazer isso!!

Eu quando trabalhei com JSF eu fazia desta maneira, até pq era o unico programador e inesperiente…

Mas eu acho que tem outras maneiras de resolver seu problema!

ps: soh ainda nao sei qual!

G

use um validador, ou use por exemplo o atributo ajaxSingle do richfaces/a4j

dansoaresfarias

<h:dataTable value="#{crud.listaPessoa}" var=“pessoa”>

Como posso garantir o auto complete desta parte do código em negrito?

Criado 17 de dezembro de 2009
Ultima resposta 4 de jan. de 2010
Respostas 6
Participantes 5