diff --git a/smash/web/forms.py b/smash/web/forms.py
index 020e4c4722ab8f9a83e4e49e9ebea8a57634a008..4519a0ada352f7164f48a990ca1bee17be66cbab 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -151,3 +151,8 @@ class VisitAddForm(ModelForm):
     class Meta:
         model = Visit
         exclude = ['is_finished']
+
+    def clean(self):
+        if (self.cleaned_data['datetime_begin']>=self.cleaned_data['datetime_end']):
+            self.add_error('datetime_begin', "Start date must be before end date")
+            self.add_error('datetime_end', "Start date must be before end date")
diff --git a/smash/web/tests/test_VisitAddForm.py b/smash/web/tests/test_VisitAddForm.py
new file mode 100644
index 0000000000000000000000000000000000000000..9a35892b17104ab8d46beaaffbc004890821386e
--- /dev/null
+++ b/smash/web/tests/test_VisitAddForm.py
@@ -0,0 +1,34 @@
+from django.test import TestCase
+from web.forms import SubjectAddForm
+from web.forms import VisitAddForm
+from web.models import Subject
+from web.models import Visit
+
+class SubjectAddFormTests(TestCase):
+    def setUp(self):
+        subject_data = {'first_name': 'name',
+            'last_name': 'name',
+            'status' : Subject.STATUS_CHOICES_NOT_CONTACTED,
+            'sex' : Subject.SEX_CHOICES_MALE,
+            'country' : 'Luxembourg',
+        }
+        self.subject = SubjectAddForm(data=subject_data).save()
+
+        self.sample_data = {'datetime_begin': "2017-01-01",
+            'datetime_end': "2017-02-02",
+            'visit_type': Visit.TYPE_CHOICES_OTHER,
+            'subject' : self.subject.id
+        }
+
+    def test_validation(self):
+        form = VisitAddForm(data=self.sample_data)
+        self.assertTrue(form.is_valid())
+
+    def test_invalid_validation(self):
+        self.sample_data['datetime_begin'] = "2017-02-02"
+        self.sample_data['datetime_end'] = "2017-01-01"
+        form = VisitAddForm(data=self.sample_data)
+        validation_status = form.is_valid()
+        self.assertFalse(validation_status)
+        self.assertTrue("datetime_begin" in form.errors)
+        self.assertTrue("datetime_end" in form.errors)