validate method
- dynamic value,
- String path
override
Validates value at path and returns every violation found.
path is a dot-notation string identifying the location of value
within the document (e.g. 'address.city', '' for the root). Violations
use path as their SchemaViolation.path.
Implementation
@override
List<SchemaViolation> validate(dynamic value, String path) {
// Applies only to arrays; other types are silently skipped.
if (value is! List) return [];
final violations = <SchemaViolation>[];
// Only iterate as far as the shorter of the array and the prefix list.
final limit = schemas.length < value.length ? schemas.length : value.length;
for (var i = 0; i < limit; i++) {
violations.addAll(schemas[i].validate(value[i], '$path[$i]'));
}
return violations;
}