validate<T> static method

void validate<T>(
  1. T object,
  2. List<Rule<T>> rules,
  3. String context
)

Implementation

static void validate<T>(T object, List<Rule<T>> rules, String context) {
  var reasons = rules
      .where((rule) => rule.isInvalid(object))
      .map((rule) => rule.reason)
      .toList();

  if (reasons.isNotEmpty) {
    var code = '$context.error.badRequest';
    var description = '$context bad request';
    throw BadRequestException(code, description, reasons);
  }
}