arrayOf<T> method

EzValidator<List<T>> arrayOf<T>(
  1. EzValidator<T> itemValidator
)

Define an array of itemValidator to validate each item in the array

Implementation

// ignore: avoid_shadowing_type_parameters
EzValidator<List<T>> arrayOf<T>(EzValidator<T> itemValidator) {
  return EzValidator<List<T>>().addValidation((list, [entireData]) {
    if (list == null) {
      return null;
    }
    List<dynamic> errorsList = [];
    for (var i = 0; i < list.length; i++) {
      var item = list[i];
      var error = itemValidator.validate(item, entireData);

      if (error != null) {
        errorsList.add(error);
      }
    }
    if (errorsList.isNotEmpty) {
      return errorsList;
    }
    return null;
  });
}