Both GeneralForm and SQLObjectEditView issue abort()s internally when WidgetsError is issued. It is somewhat surprising to me that the loop which validates widgets is not done before actually trying to modify data, though I can understand why that may be so (widget validation may depend on previous modifications done as part of the transaction).
Both GeneralForm and SQLObjectEditView issue abort()s internally when WidgetsError is issued. It is somewhat surprising to me that the loop which validates widgets is not done before actually trying to modify data, though I can understand why that may be so (widget validation may depend on previous modifications done as part of the transaction).