       firstItem.remove()
 
   'mouseup .select2-selection': (event, instance) ->
-    suggestedFields = instance.suggestedFields
-    suggestedFields.set(_.without(suggestedFields.get(), 'locations'))
+    _removeSuggestedProperties(instance, ['locations'])
 
   'mouseup .incident--dates': (event, instance) ->
-    suggestedFields = instance.suggestedFields
-    suggestedFields.set(_.without(suggestedFields.get(), 'dateRange'))
+    _removeSuggestedProperties(instance, ['dateRange'])
 
   'click .cumulative, keyup .cumulative': (event, instance) ->
-    suggestedFields = instance.suggestedFields
-    suggestedFields.set(_.without(suggestedFields.get(), 'cumulative'))
+    _removeSuggestedProperties(instance, ['cumulative'])
 
   'submit form': (event, instance) ->
+    instance.$(event.currentTarget).validator()
     prevented = event.isDefaultPrevented()
     instance.data.valid.set(not prevented)
     if prevented

    instance.$('#singleDatePicker').data('daterangepicker').clickApply()

  'click .status label, keyup .status label': (event, instance) ->
    suggestedFields = instance.suggestedFields
    suggestedFields.set(_.without(suggestedFields.get(), 'status'))
    _selectInput(event, instance, 'incidentStatus')

  'click .type label, keyup .type label': (event, instance) ->
    suggestedFields = instance.suggestedFields
    suggestedFields.set(_.without(suggestedFields.get(), 'cases', 'deaths'))
    _selectInput(event, instance, 'incidentType')

  'keyup [name="count"]': (event, instance) ->
    suggestedFields = instance.suggestedFields
    suggestedFields.set(_.without(suggestedFields.get(), 'cases', 'deaths'))

  'click .select2-selection': (event, instance) ->
    # Remove selected empty item

      state.set(null)
    else
      state.set(clickedInput)

_removeSuggestedProperties = (instance, props) ->
  suggestedFields = instance.suggestedFields
  suggestedFields.set(_.difference(suggestedFields.get(), props))

Template.incidentForm.onCreated ->
  @incidentStatus = new ReactiveVar('')
