I am currently working on an error prevention concept for a Windows Forms application.
When the user is going to delete an object, how important is it to tell what the exact consequences are? In my application, other data can be tied to this object, data that might or might not be present. E.g. a "person" object can have related "finance" data stored. Losing this data without knowledge can result in a lot of work lost.
How should I communicate this in a confirmation dialog?
1. Just being generic and rely on the user knowing what he is doing?
Are you sure you want to delete this person? [Yes][No]
2. Always assuming that there is related data? (without checking if there actually is)
By deleting this person you will also lose related financing and payout data. Are you sure you want to delete this person? [Yes][No]
3. Exactly stating what will be deleted
By deleting this person you will also lose the following related data: financing, payout. Are you sure you want to delete this person? [Yes][No]