Run the setting checker against the setting raw value.

        Raises:
            AttributeError: if the setting is missing and required.
            ValueError: if the raw value is invalid.

def check(self):
        """
        Run the setting checker against the setting raw value.

        Raises:
            AttributeError: if the setting is missing and required.
            ValueError: if the raw value is invalid.
        """
        try:
            value = self.raw_value
        except (AttributeError, KeyError) as err:
            self._reraise_if_required(err)
        else:
            if self.checker:
                self.checker(self.full_name, value)
            try:
                self.validate(value)
                self.run_validators(value)
            except ValidationError as error:
                raise ValueError("Setting {} has an invalid value: {}".format(self.full_name, error))