

def full_clean(self):
    'Clean and validate all form fields.'

    def set_fieldset_required(fieldset_id, required):
        for fieldset in self.Meta.fieldsets:
            if (('id' in fieldset) and (fieldset['id'] == fieldset_id)):
                for field in fieldset['fields']:
                    self.fields[field].required = required
    if self.data:
        storage_backend = (self['storage_backend'].data or self.fields['storage_backend'].initial)
        if (storage_backend != 's3'):
            set_fieldset_required('storage_s3', False)
        if (storage_backend != 'swift'):
            set_fieldset_required('storage_swift', False)
        if (storage_backend != 'couchdb'):
            set_fieldset_required('storage_couchdb', False)
    super(StorageSettingsForm, self).full_clean()

dataset/ETHPy150Open reviewboard/reviewboard/reviewboard/admin/forms.py StorageSettingsForm.full_clean/original