code: def validate(self, dct):
          
          if not isinstance(dct, dict):
              # TODO this check should be in side of the validator not here
              self._raise_invalid_fields('', dct, 'wrong type')
          txn_type = dct.get(TXN_TYPE)
          if txn_type is None:
              self._raise_missed_fields(TXN_TYPE)
          if txn_type in self.operations:
              # check only if the schema is defined
              op = self.operations[txn_type]
              op.validate(dct)
docs: Choose a schema for client request operation and validate
          the operation field. If the schema is not found skips validation.
          :param dct: an operation field from client request
          :return: raises exception if invalid request