Adopting a projected as gold user fails
### How to reproduce it

1. sign up as Gold member
1. go to https://readthedocs.org/accounts/gold/subscription/
1. select the project that you want to adopt

### Expected Result

Adopts the project.

###  Actual Result

Fails with a 500.

https://sentry.io/read-the-docs/readthedocs-org/issues/587668658/

### The problem

This line

https://github.com/rtfd/readthedocs.org/blob/44e02def230b937e4eca396864de9fc81f4ef33f/readthedocs/gold/views.py#L109

cause the problem since we are receiving a "project name" and using it as "project slug".
diff --git a/readthedocs/gold/forms.py b/readthedocs/gold/forms.py
index 12d1d3645..75eef5a59 100644
--- a/readthedocs/gold/forms.py
+++ b/readthedocs/gold/forms.py
@@ -5,7 +5,10 @@ from __future__ import absolute_import
 from builtins import object
 from django import forms
 
+from django.utils.translation import ugettext_lazy as _
+
 from readthedocs.payments.forms import StripeModelForm, StripeResourceMixin
+from readthedocs.projects.models import Project
 
 from .models import LEVEL_CHOICES, GoldUser
 
@@ -88,6 +91,14 @@ class GoldProjectForm(forms.Form):
         self.projects = kwargs.pop('projects', None)
         super(GoldProjectForm, self).__init__(*args, **kwargs)
 
+    def clean_project(self):
+        project_slug = self.cleaned_data.get('project', '')
+        project_instance = Project.objects.filter(slug=project_slug)
+        if not project_instance.exists():
+            raise forms.ValidationError(_('No project found.'))
+        else:
+            return project_slug
+
     def clean(self):
         cleaned_data = super(GoldProjectForm, self).clean()
         if self.projects.count() < self.user.num_supported_projects:
diff --git a/readthedocs/rtd_tests/tests/test_gold.py b/readthedocs/rtd_tests/tests/test_gold.py
index 41703f0c1..e0f5c1581 100644
--- a/readthedocs/rtd_tests/tests/test_gold.py
+++ b/readthedocs/rtd_tests/tests/test_gold.py
@@ -26,6 +26,13 @@ class GoldViewTests(TestCase):
         self.assertEqual(self.golduser.projects.count(), 1)
         self.assertEqual(resp.status_code, 302)
 
+    def test_incorrect_input_when_adding_projects(self):
+        self.assertEqual(self.golduser.projects.count(), 0)
+        incorrect_slug = 'xyz-random-incorrect-slug-xyz'
+        self.assertEqual(Project.objects.filter(slug=incorrect_slug).count(), 0)
+        resp = self.client.post(reverse('gold_projects'), data={'project': incorrect_slug})
+        self.assertFormError(resp, form='form', field='project', errors='No project found.')
+
     def test_too_many_projects(self):
         self.project2 = get(Project, slug='test2')
 
['readthedocs/gold/forms.py', 'readthedocs/rtd_tests/tests/test_gold.py']