                                        "Sends regrets" "no" false])))]]])
              guests)
             [:p {:class "small"}
-             "(If we've gotten anyone's name wrong, we apologize! Please correct it here so that we can stop embarrassing ourselves.)"]]
+             "(If we've gotten anyone's name wrong, we apologize! Please correct it here so that we can stop embarrassing ourselves.)"]
+            (when error
+              [:p
+               error])]
            [:section {:class "addendums"}
             [:label {:for "foodpref", :class "small"}
              "We are planning on serving a buffet style meal that will be suitable for both meat eaters and vegetarians. Do you have any dietary restrictions or allergies that we should be aware of?"]

         :response {:contact nil
                    :food-preferences ""
                    :infos {}
                    :sent false}}))

(defn search []
  (om/ref-cursor (:rsvp-search (om/root-cursor app-state))))

          [:form {:id "rsvpsubmit"
                  :onSubmit (fn [e]
                              (.preventDefault e)
                              (if-let [error (validate-response selection response)]
                                (om/update! response :error error)
                                (go (om/update! response :error nil)
                                    (let [[result data] (<! (send-rsvps! selection response))]
                                      (condp = result
                                        :success (om/update! response :sent true)
                                        :failure (js/console.error "Error sending response to Parse:" data))))))}
           [:section {:class "guests"}
            (map-indexed
             (fn [idx {id :id, original-name :name :as info}]
