Technically your app should be designed to rmemeber the last input and force them to enter a reason there. The only reason you would put this kind of business logic on the tables is when direct DB access is involved. For example I have several ASP pages that validate user input and if I am missing a key piece of input I redirect to a page to output their input and a not on required fields. In that case apps like EM also do not wipe out the input screen until the execution completes without error. Updates can only be lost then if the user purposely does not resubmit. The key is how is data input done.
"Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)