Because of the way the deferred callback/errback chain works (http://twistedmatrix.com/documents/current/core/howto/defer.html), adding a callback that closes the dialog in Methanal.Widgets.ModalDialogForm.submit results in that callback being invoked even when a form submission error occurs.
I believe that instead of ModalDialogForms closing without any positive or negative feedback on a form submission error, users should instead see any form submission errors that occurred and have a chance to correct the problem and resubmit the form.
One approach to fix this problem would be for M.W.ModalDialogForm.submitFailure to re-raise/throw the failure it receives in order to prevent the extra callback from ever getting invoked, but this also results in undesired behavior in that the error propagates all the way down to Athena, and an Athena error dialog is created behind the ModalDialog.
The included patch, therefore, takes a different approach. It closes the dialog from M.W.ModalDialogForm.submitSuccess instead of adding a callback in M.W.ModalDialogForm.submit.