def METHOD_NAME(self, name, operator, value):
    '''
    Validate the information presented against the stored filter validation
    set within the class.  If any failures were noted, we will then raise a
    ValidationError at the end.
    '''
    errors = {}
    def pattern_check(val, ptn, key='value'):
        '''
        Checks to see if the value matches the regex pattern provided
        (assuming a pattern exists).  If a failure occurs, then add the
        error message to the error list under the appropriate key.
        '''
        if ptn and not re.match(ptn, val):
            errors[key] = errors.get(key, [])
            errors[key].append(f'"{val}" does not match pattern {ptn}')
    def choice_check(val, choices, key='value'):
        '''
        Checks to see if the value is a valid choice (if a list of choices
        exists).  If a failure occurs, then add the error message to the
        appropriate key
        '''
        if choices and val not in choices:
            errors[key] = errors.get(key, [])
            errors[key].append(f'"{val}" must be one of {choices}')
    if self._filters:
        vfilter = self._filters.get(name)
        if vfilter:
            choice_check(operator, vfilter['operators'], 'operator')
            if isinstance(value, str):
                choice_check(value, vfilter['choices'])
                pattern_check(value, vfilter['pattern'])
            elif isinstance(value, list):
                for item in value:
                    choice_check(item, vfilter['choices'])
                    pattern_check(item, vfilter['pattern'])
        else:
            errors['name'] = [f'"{name}" is not a valid filter']
    if errors:
        raise ValidationError(errors)