Command Button primefaces tipo Reset

2 respostas
K

Boa tarde pessoal, estou com um problema em um dos componentes do primefaces versão 2.2.1. Estou utilizando um command button pra fazer o reset do formulário, porém o mesmo quando e realizado após um erro de validação derivado da tag <f:validateLength minimum=“1” maximum=“45” /> não está funcionando, não está executando nenhuma ação para o mesmo.

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui">
<f:view>	
<h:body>

	<ui:composition template="../template/Layout.xhtml">

		<ui:define name="content">
			<f:loadBundle basename="com.everis.epersonas.bundle.messages" var="msg"/>
			<h:form id="cadastroForm">
				
				<center>
				
				<p:panel id="painelCadastro"
					header="Cadastrar nova Categoria"
					style="text-align:left;width:1080px;">
					
					<p:messages id="msgs"/>
						<h:panelGrid columns="2">
							
							<br />
							<h:inputHidden id="idCategoria" value="#{categoriaController.categoria.idCategoria}" />
							
							<h:outputLabel value="#{msg.nomeCategoria}*" />
							<p:inputText id="nome" value="#{categoriaController.categoria.nomeCategoria}" required="false" label="nomeCategoria" size="25" >
								<f:validateLength minimum="1" maximum="25" />
							</p:inputText>
	                         
							<h:outputLabel value="#{msg.descricaoCategoria}*" />
							<p:inputText id="descricao" value="#{categoriaController.categoria.descricaoCategoria}" required="false" label="descricaoCategoria" size="45">
								<f:validateLength minimum="1" maximum="45" />
							</p:inputText>                         
	
						</h:panelGrid>
						<br />

						<center>
						
								<p:commandButton value="Gravar" action="#{categoriaController.salvar}" update="cadastroForm, msgs" ajax="true" /> 
								
			                    <p:commandButton value="Alterar" action="#{categoriaController.alterar}" update="cadastroForm, msgs" ajax="true" />
									
								<!--<p:commandButton  type="reset" value="Limpar" update="cadastroForm" ajax="true"/>-->
								
								<p:commandButton value="Limpar" action="#{categoriaController.limpar}" update="cadastroForm, msg" ajax="true"/>
								</center>
						
					</p:panel>			

			
			<br />
				
				<p:panel id="painelConsulta" header="Lista de objetos cadastrados"
					style="text-align:left;width:1080px;">


					<p:dataTable value="#{categoriaController.listCategoria}" id="tabela" emptyMessage="Nenhum registro encontrado" rowIndexVar="var"
						paginator="true" paginatorPosition="bottom" firstPageLinkLabel="Primeira" previousPageLinkLabel="Anterior"
						nextPageLinkLabel="Proxima" lastPageLinkLabel="ultima" rows="10" var="categoria" width="600" rendered="true">

						<p:column filterBy="#{categoria.idCategoria}" filterMatchMode="exact">
							<f:facet name="header">
								<h:outputText value="ID" />
							</f:facet>
							<h:outputText value="#{categoria.idCategoria}" styleClass="letra1" />
						</p:column>

						<p:column filterBy="#{categoria.nomeCategoria}" filterMatchMode="contains">
							<f:facet name="header">
								<h:outputText value="Nome" />
							</f:facet>
							<h:outputText value="#{categoria.nomeCategoria}" styleClass="letra1" />
						</p:column>

						<p:column filterBy="#{categoria.descricaoCategoria}" filterMatchMode="contains">
							<f:facet name="header">
								<h:outputText value="Descricao" />
							</f:facet>
							<h:outputText value="#{categoria.descricaoCategoria}" styleClass="letra1" />
						</p:column>
						
						<p:column>
							<p:commandButton value="alterar" update="cadastroForm">
								<f:setPropertyActionListener
									target="#{categoriaController.categoria}" value="#{categoria}" />
							</p:commandButton>
						</p:column>

						<p:column>
							<p:commandButton action="#{categoriaController.excluir}"
								value="excluir" update="consultaForm:tabela" onclick="return confirm('Confirma Exclusão do Registro?')" ajax="true">
								<f:setPropertyActionListener
									target="#{categoriaController.categoria}" value="#{categoria}" />
							</p:commandButton>
						</p:column>
						
					</p:dataTable>

				</p:panel>
			</center>
			
			</h:form>
		</ui:define>
	</ui:composition>

</h:body>
</f:view>
</html>

Gostaria de saber se existe alguma forma de corrigir este problema, pois acredito que seja problema com o ajax nativo do primefaces.

Obrigado pessoal.

2 Respostas

M

no commandButton do reset coloque a tag immediate=“true”

K

Bom dia Pessoal, já tentei colocar a propriedade immediate=“true”, porém não obtive resultados, parece que é desabilitado o ajax após este erro de validação…
Qualquer outra sugestão pessoal…

Criado 24 de outubro de 2011
Ultima resposta 25 de out. de 2011
Respostas 2
Participantes 2