def METHOD_NAME(self, proposed):
    f = proposed["value"]
    if self.dataset.container == "dataframe" and f is None:
        raise ValueError("Field is required when source container is a dataframe")
    return f
    # # more strict checking
    # if 'fields' not in self.dataset.metadata:
    #     raise ValueError('No fields defined in catalog metadata')
    # if f not in self.dataset.metadata['fields'].keys():
    #     raise ValueError('Field {} not defined in catalog'.format(f))