Index: /trunk/grails-app/domain/Task.groovy
===================================================================
--- /trunk/grails-app/domain/Task.groovy	(revision 445)
+++ /trunk/grails-app/domain/Task.groovy	(revision 446)
@@ -35,7 +35,10 @@
     static constraints = {
         description(blank:false,maxSize:75)
-        comment()
+        comment(maxSize:1000)
         targetStartDate()
-        targetCompletionDate()
+        targetCompletionDate(validator: {val, obj ->
+            if(val.before(obj.targetStartDate))
+                return 'before.targetStartDate'
+        })
         leadPerson()
         taskPriority()
Index: /trunk/grails-app/i18n/messages.properties
===================================================================
--- /trunk/grails-app/i18n/messages.properties	(revision 445)
+++ /trunk/grails-app/i18n/messages.properties	(revision 446)
@@ -92,4 +92,6 @@
 task.assignedPersons.failedToSave=Could not complete operation, as assignedPerson record failed to save.
 tast.taskRecurringSchedule.alreadyExists=This task already has a recurring schedule.
+task.targetCompletionDate.before.targetStartDate=The target completion date must be equal to or greater than \
+    the target start date.
 
 taskRecurringSchedule.notFound=Could not complete operation, recurring schedule not found.
