Pessoal, tenho um problema com update…vou tentar explicar detalhadamente.
Tenho uma tela de cadastro simples com dois campos Silga e País e dois botões de confirmar e cancelar
Quando clico na opção update, a tela é carregada normalmente com a sigla e o nome…
Se eu apago a sigla e modifico o nome do país e clico em confirmar, o sistema me retorna
uma mensagem dizendo que a sigla é obrigatório, até aí está tudo certo!!
O problema está no botão fechar!
Quando faço essa operação deixando a sigla vazia e mofico o nome e confirmo, vem a msg de obrigatoriedade…
o problema é se em seguida eu fecho a tela…
Depois de fechar a tela eu clico no mesmo registro pra fazer update ele tráz a sigla preenchida(correto), mais tráz o nome que foi
alterado, não deveria, pois eu nao confirmei a transação.
Ex: SIgla = Vazia
Nome = mudei de Brasil para Portugal e confirmei, o sistema tráz a msg de obrigatoriedade
Em seguida, fechei a tela e cliquei em update da mesma novamente, ao invés de trazer Brasil, tráz Portugal.
Se eu trocar, deixando o nome vazio e alterar a sigla acontece o mesmo!
Se eu alterar os dois, da certo o update, o problema está em deixar um dos dois vazios.
Código:
[code]<rich:modalPanel id=“editPanel” width=“680” autosized=“true”>
<f:facet name=“header”>
<h:outputText value="#{msg[‘screen.sc_places_country.label.lb_country_header_alterar’]}" />
</f:facet>
<f:facet name=“controls”>
<h:panelGroup>
<h:graphicImage value="/images/modal/close.png" id=“hidelink1” styleClass=“hidelink”/>
<rich:componentControl for=“editPanel” attachTo=“hidelink1” operation=“hide” event=“onclick” />
</h:panelGroup>
</f:facet>
<a4j:form>
<a4j:loadScript src="/js/mask/jquery.maskedinput-1.2.1.js" ></a4j:loadScript>
<rich:messages errorClass=“errorMessage” infoClass=“infoMessage”>
</rich:messages>
<a4j:outputPanel ajaxRendered="true">
<h:panelGrid columns="5" styleClass="widthGrid" columnClasses="labelGrid,valueGrid, ,labelGrid,valueGrid">
<h:outputText value="*#{msg['screen.sc_places_country.label.lb_country_txShortName']}: " />
<h:inputText value="#{countryMBean.country.txShortName1}" size="15" required="true" id="txShortName1" label="#{msg['screen.sc_places_country.label.lb_country_txShortName']}">
<f:validateLength minimum="1" maximum="50" />
</h:inputText>
<rich:spacer width="10%"/>
<h:outputText value="*#{msg['screen.sc_places_country.label.lb_country_txStatus']}: " />
<h:selectOneMenu value="#{countryMBean.country.recordStatus.idRecordStatus}" style="width:120px" required="true" id="idStatus" label="#{msg['screen.country.label.txStatus']}">
<f:selectItem itemValue="" itemLabel="#{msg['screen.sc_places_country.label.lb_country_txSelect']}" />
<f:selectItems value="#{recordStatusMBean.rsList}" />
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="2" styleClass="widthGrid" columnClasses="labelGrid,fieldName">
<h:outputText value="*#{msg['screen.sc_places_country.label.lb_country_txLongName']}:" />
<h:inputText immediate="false" value="#{countryMBean.country.txLongName1}" size="59" required="true" id="txLongName1" label="#{msg['screen.sc_places_country.label.lb_country_txLongName']}">
<f:validateLength minimum="1" maximum="255" />
</h:inputText>
</h:panelGrid>
<rich:spacer height="20"/>
<rich:separator height="2" lineType="solid" />
<h:outputText value="#{msg['screen.sc_places_country.message.msg_campo_obrigatorio']}"/>
<rich:spacer height="10"/>
<p >
<h:panelGrid columns="2" styleClass="buttons">
<a4j:commandButton
value="#{msg['screen.sc_places_country.button.bt_confirmar']}"
action="#{countryMBean.save}"
reRender="countryDataTableList"
oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('editPanel')}.hide();">
</a4j:commandButton>
<a4j:commandButton
value="#{msg['screen.sc_places_country.button.bt_fechar']}"
action="#{countryMBean.novo}"
onclick="#{rich:component('editPanel')}.hide();return false;" >
</a4j:commandButton>
</h:panelGrid>
</p>
</a4j:outputPanel>
</a4j:form>
</rich:modalPanel>
[/code]