属性が設定され<input type="text">
たフィールドを含むページがあります。required="true"
フォームを送信する保存ボタンもあります。
required="true"
残念ながら、フィールドが空のままでもフォームは送信されます。
これは私の現在のコードです:
<s:decorate template="layout/edit.xhtml" id="decAQty">
<ui:define name="label">Actual Qty Received</ui:define>
<h:inputText
value="#{tktReceivingInfoHome.instance.actualReceivedQty}"
required="true" id="txtAQty"
converterMessage="Not a valid Quantity">
<a:ajax event="blur" render="txtAcTotal,decAQty"
listener="#{returnsReceivingManager.setActualTotal}" />
<h:messages id="error" style="display:none" />
</h:inputText>
<a:commandButton id="btnSave"
action="#{returnsReceivingManager.checkQtyDiff}" value="Save"
render="decSQty,decScQty,decRtvQty,addForm,decAQty,decRecdDate,decRecWH,decErrorRMA,decErrorRTV,decReason,decStatusRMA,decStatusRTV,decPriority,decResolution"
oncomplete="#{returnsReceivingManager.rmaInfo.qtyDiff!=0 ? '#{rich:component(\'addPanel\').show();' : 'callSave();'}"
onclick="showProgressBar()" />
<a:jsFunction action="#{returnsReceivingManager.save}"
oncomplete="hideProgressBar()" name="callSave" />
保存ボタンをクリックすると、値が必要であることを示すメッセージがポップアップ表示されますが、その後消えて、トランザクションが失敗したことを示すメッセージが表示されます。
つまり、ページが 2 回送信されているように見えます。この問題を解決する方法について、コミュニティが提供できる提案をお待ちしております。