validate

abstract fun validate(name: String, properties: JsonObject): String?

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