I currently have an issue where we have a a4j:repeat listing items.
If we attempt to submit the page and get a validation error on an item, the submittedValue for the item is retained (as we would expect).
If we then delete this record using an immediate component, then the submittedValue (and localValue) are not reset (since it is an immediate component).
If the then re-add a record, the the submittedValue and localValue are still present in the saveState and get applied on the subsequent submit.
This is present in 3.1.6GA/3.1.5GA. I have not tested the 3.2.1GA release.
This resetting of the values is one in the UIDataAdaptor, in the restore child state method if the row is available.
(see setRowIndex and setRowKey methods in UIDataAdaptor).
My proposed solution to this issue is to remove the child state in these methods if the row is NOT available.
The remove child state method would look like restore child state, except it would just apply the NullState to the editablevalueHolders
This should be acceptable as there shouldn't be any reason to hold onto the submittedValue or localValue if the row is not available.
Can you see any issues with this change? if not, i can do up a jira and patch for it.
fyi: Further testing my solution revealed it wont work in some specific edge cases.....so no solution so far.