skimming the code a bit, this doesn't seem easy to be a very a clean way to do this.
TVC allows multiple fields to be specified at once, but the positions & offsets options can not be specified per field – so if the user wants termVectors for fieldA and termVectors plus position info for fieldB, there is no way for them to distinguish that they don't care about position info for fieldA – if fieldA doens't have positions enabled in the schema, making TVC error based on that request would do the user a dis-service. Even if there is no clean way to ask for it, the scema supports what they want – so we shouldn't error.
I considerd breifly what it would take to make TVC support per-field overrides for the various options – the trickiness comes from hte fact that it doesn't iterate over the list of fields itself. It builds up a custom TermVectorMapper to pass to IndexReader.getTermFreqVector for each doc. So we'd need to modify that TermVectorMapper impl to know about the SolrQueryRequest so it could check the options per field instead of just specifying the booleans when it's constructed.
Things are also complicated by the fact that the tv.fl param defaults to the fl param – so even if users enable termVectors, positions, and offsets for all the fields they care about, and they could starting getting errors if a new field is added to the "fl" when they don't care about any of that info.
All told: this may be one of the situations where an actual "error" isn't in hte best interests of the user – adding a warning to the TVC output for each field/option combo that doesn't make sense is probably more useful.