<h:inputText disabled="#{volumeBean.grossVolumeDisabled}" id="grossVolume" size="10" validateOnExit="true" value="#{volumeBean.enteredGrossVolume}" >
<a4j:support ajaxSingle="true" event="onblur" ignoreDupResponses="true" oncomplete="checkFieldValidation(this)" onsubmit="updateDirty()"/>
</h:inputText>
そしてa4j:commandButtonのページ上のデータベースからすべてのデータを「リフレッシュ」します とエラーに関係なくa4jに設定された再レンダリング属性が存在するかどうかの発生することに注意してください:ここでは
<a4j:commandButton accesskey="T" action="#{volumeBean.revert}" button-type="ajax" disabled="#{volumeBean.revertDisabled}" id="volumeBean_reset" immediate="true" reRender="volumesTable" value="#{msg.button_RESET}"/>
は私の問題を再現する手順です。 :サポート
ここでは再現するための手順です - ちょうど、さらに明確にする:
- は(BigDecimalの入力フィールドがフィールドに
- AA型が存在する画面に移動数でなければなりませんが、数字以外の文字を入れますフィールドオフ意図的に)
- タブにエラーが「AA」を報告された旨の通知が有効netVolume RESETボタンをクリック
- の全てではありません
- 変更されたフィールドは、ユーザが手動でフィールドに非数値データを削除するか、画面全体をリフレッシュしない限り、非数値データが「不良データ」
リセットボタンには 'immediate = "true"'が含まれているため、検証をバイパスする必要があります。 – Naganalf
会話が失敗するため、間違った値がコンポーネントのsubmittedValue内に保持されます。正しいですが、conversation/validationはimmediate = "true"のときは処理されませんが、ページがレンダリングされるときはsubmittedValueの値が使用されます。 submittedValueをクリアする必要があります。 –
submitValueを自動的またはプログラムでクリアするにはどうすればよいですか? – Nena