uses cursors instead, much clearer experience.
This commit is contained in:
@@ -151,8 +151,7 @@
|
||||
|
||||
(defn field-validation-error [m path & {:as data}]
|
||||
(throw+ (ex-info m (merge data {:type :field-validation
|
||||
:field-validation-errors [{:path path
|
||||
:message [m]}]}))))
|
||||
:form-errors (assoc-in {} path [m])}))))
|
||||
|
||||
(defn form-validation-error [m & {:as data}]
|
||||
(throw+ (ex-info m (merge data {:type :form-validation
|
||||
@@ -164,7 +163,8 @@
|
||||
(mt2/key-transformer {:encode keyword->str :decode str->keyword})
|
||||
mt2/string-transformer
|
||||
mt2/json-transformer
|
||||
(mt2/transformer {:name :arbitrary})))
|
||||
(mt2/transformer {:name :arbitrary})
|
||||
mt2/default-value-transformer))
|
||||
|
||||
(defn wrap-schema-decode [handler & {:keys [form-schema query-schema route-schema params-schema]}]
|
||||
(fn [{:keys [form-params query-params params] :as request}]
|
||||
@@ -290,18 +290,20 @@
|
||||
(:errors (:explain (:error e))))]
|
||||
(alog/warn ::form-4xx :errors errors)
|
||||
(form-handler (assoc request
|
||||
:last-form (assoc-errors-into-meta (:decoded e) errors)
|
||||
:field-validation-errors errors)))
|
||||
:last-form (:decoded e)
|
||||
:field-validation-errors errors
|
||||
:form-errors humanized)))
|
||||
#_(html-response [:span.error-content.text-red-500 (:message &throw-context)]
|
||||
:status 400))
|
||||
(catch [:type :field-validation] e
|
||||
(form-handler (assoc request
|
||||
:last-form (assoc-errors-into-meta (:form e) (:field-validation-errors e))
|
||||
:field-validation-errors (:field-validation-errors e))))
|
||||
:last-form (:form e)
|
||||
:form-errors (:form-errors e))))
|
||||
(catch [:type :form-validation] e
|
||||
(form-handler (assoc request
|
||||
:last-form (with-meta (:form e) {:errors (:form-validation-errors e)})
|
||||
:form-validation-errors (:form-validation-errors e)))))))
|
||||
:last-form (:form e)
|
||||
:form-validation-errors (:form-validation-errors e)
|
||||
:form-errors {:errors (:form-validation-errors e)}))))))
|
||||
|
||||
|
||||
(defn apply-middleware-to-all-handlers [key->handler f]
|
||||
|
||||
Reference in New Issue
Block a user