passes method

Future<bool> passes()

Implementation

Future<bool> passes() async {
  errors.clear();

  // Process all rules, including nested ones
  // We collect all validation futures to run them in parallel where possible
  final validationFutures = <Future<void>>[];

  for (final entry in rules.entries) {
    final fieldPattern = entry.key;
    final ruleDefinition = entry.value;

    if (fieldPattern.contains('*')) {
      // Handle nested/wildcard validation (e.g., attachments.*)
      validationFutures
          .add(_validateNestedField(fieldPattern, ruleDefinition));
    } else {
      // Handle regular field validation
      validationFutures.add(_validateField(fieldPattern, ruleDefinition));
    }
  }

  await Future.wait(validationFutures);

  return errors.isEmpty;
}