validateAll method
Implementation
@override
JarResult validateAll(List<dynamic>? value,
[Map<String, dynamic>? allValues, String? path, Object? root]) {
final issues = <JarIssue>[];
issues.addAll(
super.validateAll(value, allValues, path, root ?? value).issues);
if (value == null) {
if (issues.isEmpty) return JarResult.success(value);
return JarResult(
isValid: false, error: issues.first.message, issues: issues);
}
if (value.length != schemas.length) {
issues.add(JarIssue(
path: path,
code: 'invalid_length',
message: 'Expected ${schemas.length} elements, got ${value.length}'));
}
final output = [];
for (var i = 0; i < schemas.length && i < value.length; i++) {
final childPath = path == null ? '$i' : '$path.$i';
final result =
schemas[i].validateAll(value[i], allValues, childPath, root ?? value);
output.add(result.value);
issues.addAll(result.issues);
}
if (issues.isEmpty) return JarResult.success(output);
return JarResult(
isValid: false,
error: issues.first.message,
issues: issues,
value: output);
}