weaviate/weaviate · error
invalid object property '%s' on class '%s': %w
Error message
invalid object property '%s' on class '%s': %w
What it means
Wrapper adding property/class context around a failure to validate an object (dataType 'object') nested property. The nested map failed one of its inner property validations (unknown key, wrong type, nested error); the real cause is the wrapped error from objectVal.
Source
Thrown at usecases/objects/validation/properties_validation.go:176
for _, nestedProperty := range nestedProperties {
nestedPropertiesMap[nestedProperty.Name] = nestedProperty
}
return nestedPropertiesMap
}
// TODO nested
// refactor/simplify + improve recurring error msgs on nested properties
func (v *Validator) extractAndValidateNestedProperty(ctx context.Context, propertyName string,
val interface{}, className string, dataType *schema.DataType, nestedProperties []*models.NestedProperty,
) (interface{}, error) {
var data interface{}
var err error
switch *dataType {
case schema.DataTypeObject:
data, err = objectVal(ctx, v, val, propertyName, className, nestedPropertiesToMap(nestedProperties))
if err != nil {
return nil, fmt.Errorf("invalid object property '%s' on class '%s': %w", propertyName, className, err)
}
case schema.DataTypeObjectArray:
data, err = objectArrayVal(ctx, v, val, propertyName, className, nestedPropertiesToMap(nestedProperties))
if err != nil {
return nil, fmt.Errorf("invalid object[] property '%s' on class '%s': %w", propertyName, className, err)
}
default:
return nil, fmt.Errorf("unrecognized data type '%s'", *dataType)
}
return data, nil
}
func objectVal(ctx context.Context, v *Validator, val interface{}, propertyPrefix string,
className string, nestedPropertiesMap map[string]*models.NestedProperty,
) (map[string]interface{}, error) {
typed, ok := val.(map[string]interface{})
if !ok {View on GitHub (pinned to 75aa4b6d11)
Solutions
- Read the wrapped error: it names the nested key and the concrete validation failure.
- Ensure every key in the object value is declared in the property's nestedProperties schema.
- Match nested value types to their declared nested dataTypes.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at usecases/objects/validation/properties_validation.go:176 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/15c41be9fff0392f.
Report an issue: GitHub.