validate method
Implementation
SchemaValidationResult validate(List<String> path, Object? value) {
if (value == null) {
return optional
? SchemaValidationResult.valid(path)
: SchemaValidationResult.requiredPropMissing(path);
}
final valueType = tryParse(value);
if (valueType == null) {
return SchemaValidationResult.invalidType(path, value, V.toString());
}
for (final validator in validators) {
final error = validator.validate(valueType);
if (error != null) {
return SchemaValidationResult.constraints(path, error.message);
}
}
return SchemaValidationResult.valid(path);
}