Resolution: Works as designed
Affects Version/s: 2.1.19
Fix Version/s: None
I have dataTable which contains inputText child. Outside of the datatable, there is an ajax button which add more value to datatable model data and refresh the datatable. Basically, I use ajax to add new row to datatable. The immediate is set to true for ajax since I do not want to validate the entered data in datatable at this time. However, I do not want to lose any data already entered by the user. So the whole datatable is sent to server for execution. Since the button is set to immediate, the data inside datatable will not be validated and should be sent back to browser. But empty text is sent back, and entered data are lost.
I trace the code to keepSaved method in UIData class
To prove this,
if I intentionally add a useless FacesMesage
This will make keepSaved return true. Entered data in datatable are sent back to browser.
This issue is very similar to issue 73 which is closed. But I guess it is not fixed completely.