addFilePathsItem method

void addFilePathsItem(
  1. String value, {
  2. List<AsyncValidator>? asyncValidators,
  3. List<Validator>? validators,
  4. int? asyncValidatorsDebounceTime,
  5. bool? disabled,
  6. ValidatorsApplyMode validatorsApplyMode = ValidatorsApplyMode.merge,
})

Implementation

void addFilePathsItem(
  String value, {
  List<AsyncValidator<dynamic>>? asyncValidators,
  List<Validator<dynamic>>? validators,
  int? asyncValidatorsDebounceTime,
  bool? disabled,
  ValidatorsApplyMode validatorsApplyMode = ValidatorsApplyMode.merge,
}) {
  List<Validator<dynamic>> resultingValidators = [];
  List<AsyncValidator<dynamic>> resultingAsyncValidators = [];

  switch (validatorsApplyMode) {
    case ValidatorsApplyMode.merge:
      if (validators != null) {
        resultingValidators.addAll(validators);
      }
      if (asyncValidators != null) {
        resultingAsyncValidators.addAll(asyncValidators);
      }
      break;
    case ValidatorsApplyMode.override:
      if (validators != null) {
        resultingValidators = validators;
      }

      if (asyncValidators != null) {
        resultingAsyncValidators = asyncValidators;
      }
      break;
  }

  filePathsControl?.add(FormControl<String>(
    value: value,
    validators: resultingValidators,
    asyncValidators: resultingAsyncValidators,
    asyncValidatorsDebounceTime: asyncValidatorsDebounceTime ?? 250,
    disabled: disabled ?? false,
  ));
}