submitForm method

Future<void> submitForm()

Implementation

Future<void> submitForm() async {
  setState(() {
    forceDisplayFieldsError = true;
  });

  bool shouldStop = false;

  formsState.forEach((key, value) {
    value.currentState?.submitForm();

    shouldStop |= !value.currentState!.model.isComplete();
  });

  multipleFormsState.forEach((key, value) {
    shouldStop |= !value.currentState!.save();
  });

  if (!shouldStop) {
    if (model.isComplete()) {
      final bool _enabledSubmitFormWrapper = enableSubmitFormWrapper ??
          AFTheme.of(context).enableSubmitFormWrapper;

      if (_enabledSubmitFormWrapper && enableFinalAction) {
        await theme.submitFormWrapper(
          context: context,
          future: submit(model),
        );
      } else {
        await submit(model);
      }
    } else {
      handleErrorOnSubmit?.call(model.getFirstError()!);
    }
  }
}