def validate(self, value, model_instance):
        """
        Validates value and throws ValidationError. Subclasses should override
        this to provide validation logic.
        """
        return super(self.__class__, self).validate(value.value, model_instance)