Validate
        Perform value validation against validation settings and return
        error object.

        :param value:           str, value to check
        :param model:           parent model being validated
        :param context:         object or None, validation context
        :return:                shiftschema.result.Error

def validate(self, value, model=None, context=None):
        """
        Validate
        Perform value validation against validation settings and return
        error object.

        :param value:           str, value to check
        :param model:           parent model being validated
        :param context:         object or None, validation context
        :return:                shiftschema.result.Error
        """

        if value not in self.choices:
            return Error(self.invalid_choice)

        # success otherwise
        return Error()