Problema com validação required="true"

Pessoal, estou com um probleminha chato de resolver

Tenho um formulario com um campo required=true, ao lado tenho um botão que quando clico
ele abre um popup, dentro deste popup o usuario faz a procura do produto e clica em um para selecionar
ai vem o problema, eu mando atualizar o campo para que exiba o produto selecionado
mas o campo aparece vermelho por causa do required=true

ja tentei o immediate e nada

alguma dica

Humm, com immediate deveria funcionar…

posta seu codigo aqui pra nos, dentro das tags [code]

vou dar uma resumida nele rsrs

<h:form id="form">
<p:messages />
						<h:panelGrid columns="4">
							<h:outputLabel value="Produto: " for="produto"/>
							<p:autoComplete id="produto" size="50" completeMethod="#{vendaManager.preencherProduto}" required="true"
								forceSelection="true" var="p" itemLabel="#{p.descricao}" itemValue="#{p}" converter="produtoConverter" value="#{vendaManager.produto}" >
								<p:ajax event="itemSelect" listener="#{vendaManager.selecionarProduto}"/>
							</p:autoComplete> 
							<p:commandButton icon="ui-icon-search" oncomplete="dlgProduto.show()"/>
							<h:panelGroup>
								<p:spacer width="200" height="1"/>
								<p:commandLink value="Componentes" update="@(#formularioComponente)" oncomplete="dlgComponente.show()"/>
								<p:spacer width="30" height="1"/>
							</h:panelGroup>
</h:form>

<p:dialog position="top" modal="true" width="900" height="300" widgetVar="dlgProduto" id="dlgP" header="Pesquisar Produto">
<h:form id="formulario" >
				<p:growl closable="true" severity="info"  id="info"/>
				<p:messages closable="true" severity="fatal,error"/>
				
				<h:panelGrid columns="4">
					<h:outputLabel for="codigo" value="Código: "/>
					<p:inputText id="codigo" value="#{produtoManager.codigo}" style="width:150px"/>
					
					<h:outputLabel for="descricao" value="Descrição: "/>
					<p:inputText id="descricao" value="#{produtoManager.descricao}"  style="width:300px"/>
					
					<h:outputLabel for="ean" value="EAN: "/>
					<p:inputText id="ean" value="#{produtoManager.ean}" style="width:150px"/>
					<h:outputText value=""/>	
					<h:panelGroup>
						<p:spacer height="1" width="100"/>
						<p:commandButton icon="ui-icon-search" value="Pesquisar" style="width:103px" update="cadastros" action="#{produtoManager.pesquisar}"/>
					</h:panelGroup>
				</h:panelGrid>
				
				<p:spacer height="10"/>
				<p:separator/>
				<p:spacer height="10"/>
				
				<p:dataTable value="#{produtoManager.produtos}" var="produto" emptyMessage="Nenhuma informação encontrada!" id="cadastros"
					paginator="true" rowsPerPageTemplate="5,10,15" rows="5">
					<p:column style="width:100px">
						<f:facet name="header">Chave</f:facet>
						<h:outputText value="#{produto.chave}"/>
					</p:column>
					<p:column style="width:100px">
						<f:facet name="header">Código</f:facet>
						<h:outputText value="#{produto.codigo}"/>
					</p:column>
					<p:column>
						<f:facet name="header">Descrição</f:facet>
						<h:outputText value="#{produto.descricao}"/>
					</p:column>
					
					
					<p:column style="width:100px; text-align:center" rendered="#{cc.attrs.selecionar}">
						<f:facet name="header">Selecionar</f:facet>
						<p:commandLink action="#{vendaManager.selecionarProdutoPopup}" oncomplete="dlgProduto.hide()" update=":formularioPedido:produto" partialSubmit="true">
							<h:graphicImage library="imagem" name="visualizar.jpg" style="border:0px" width="15" height="15"/>
							<f:setPropertyActionListener target="#{vendaManager.chaveProduto}" value="#{produto.chave}" />
						</p:commandLink>
					</p:column>
				</p:dataTable>
			</h:form>
</p:dialog>

Coloca o botão como type=“button”

Não eh botão é um <p:commandLink>

“ao lado tenho um botão que quando clico
ele abre um popup”

rs…

no commandLink, coloca process="@this"

ah entendi, o link do popup…
mas faz isso, process="@this"

tentei tbm e nada rsrs tenso aki

rs

Qual o campo q fica vermelho?

o <p:autocomplete id=“produto”>

É essa campo que estou mandando atualizar

troca

<p:commandLink action="#{vendaManager.selecionarProdutoPopup}" oncomplete="dlgProduto.hide()" update=":formularioPedido:produto" partialSubmit="true">

por:

<p:commandLink action="#{vendaManager.selecionarProdutoPopup}" oncomplete="dlgProduto.hide()" update=":formularioPedido:produto" process="@this">

Ainda não cara, continua querendo validar o campo produto
mais alguma coisa???

Não sei se vai fazer diferença, mas o nome do formulário está errado. Você está mandando atualizar :formularioPedido:produto e o nome dele é form. Veja se não faz diferença.

O que abre o dialog, coloca process="@this" se for link ou type=“button” se for botao e n precisar de update

Assim, isso ai foi de tanto tentar aki, que acabei escrevendo errado, mas aki os nomes estão certinhos
vlw jow

Faz isso q resolve… o problema é o que está abrindo o dialog

Só a título de curiosidade, tente remover o código:

<p:ajax event="itemSelect" listener="#{vendaManager.selecionarProduto}"/>

Veja se não é ele quem está causando problemas.

Arthur não funfou não

Marcelo funfouuuuuuuu!!!

Vou fazer mais uns testes para ver se não da zica

vlw meu brother

bem funcionou do jeito que o marcelo falou, so me ficou outra duvida
agora, na hora de eu salvar esse formulario, tem uns campos required=true que não precisa validar,
se eu colocar immediate no botão nenhum valida, eu tentei usar o process mas não deu certo
alguem ja precisou disso???

Se não precisa validar tira o required…