I am currently also working on a Forms to Apex conversion and encounter the same problems. Alas, you do have to make Ajax calls and confirm dialogs before actually submitting the page.
This (in my case anyway) means a redesign of Forms processing. All the necessary checks need to be done before submitting the page. So, a Form proces like this:
has to be redesigned to
<do some checks via an Ajax call without committing data>
<post and commit>
This usually means you first get all the confirmation messages back in one message instead of multiple confirms (as was usually the case in Forms).
If this kind of redesign is not possible, you should hold temporary results in a collection before actually committing the data.
BTW: it gets worse when you have Forms with a POST-FORMS-COMMIT trigger!
Thanks for your reply
Perhaps collections are the way to go. I would rather not offcourse.
I think it will mean that i have to rewrite the standard save action of the interactive grids to process the row(s) through ajax and handle the user interaction before they are actually submitted by the grid.
Perhaps i can come up with some plugin design to do this in a more general way..