Stuart suggested adding a custom validator to the Choice field that has the vocabulary, but that doesn't work because the call to SimpleInputWidget.getInputValue() will end up SingleDataHelper._toFieldValue(), which in turn calls ItemsWidgetBase.convertTokensToValues(), and this last call will raise a 'InvalidValue, "token %r not found in vocabulary" %token'.
Stuart suggested adding a custom validator to the Choice field that has the vocabulary, but that doesn't work because the call to SimpleInputWidg et.getInputValu e() will end up SingleDataHelpe r._toFieldValue (), which in turn calls ItemsWidgetBase .convertTokensT oValues( ), and this last call will raise a 'InvalidValue, "token %r not found in vocabulary" %token'.