baseExecuteAsyncValidation<TAbstractControl extends AbstractControl> method

  1. @protected
Future<List<ValidationEvent>> baseExecuteAsyncValidation<TAbstractControl extends AbstractControl>(
  1. ValidatorsFunction<TAbstractControl> validator,
  2. Function onValidationFunction
)
inherited

Implementation

@protected
Future<List<ValidationEvent>>
    baseExecuteAsyncValidation<TAbstractControl extends AbstractControl>(
  ValidatorsFunction<TAbstractControl> validator,
  Function onValidationFunction,
) {
  bool isFirstReaction = true;
  final completer = Completer<List<ValidationEvent>>();
  this.reactionOnValidatorDisposers.add(
        reaction((_) {
          dynamic result;
          if (isFirstReaction) {
            result =
                validator(this as TAbstractControl).then(completer.complete);
          }
          isFirstReaction = false;
          return result;
        }, (_) => onValidationFunction()),
      );
  return completer.future;
}