validate

abstract fun validate(name: String, properties: Map<String, JsonElement>): String?

Returns null when name/properties are valid, or a human-readable reason otherwise.