passes method
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;
}