由于创建了一个Schema coercer,然后尝试强制一组数据,我得到的结果是:
#schema.utils.ErrorContainer{:error #<ValidationError schema.utils.ValidationError@2abfe6ca>}
如何获得实际验证错误的解释?
最佳答案 您可以找到ValidationError类型
here的定义(因为您似乎在JVM上使用了Clojure我删除了#cljs表达式):
(deftype ValidationError [schema value expectation-delay fail-explanation])
并且ErrorContainer记录here的定义:
(defrecord ErrorContainer [error])
因此,要获得有关错误的更多信息,您可以访问内部ValidationError的任何字段:
(defn validation-error-details [error]
(let [values (juxt #(.schema %)
#(.value %)
#(.expectation-delay %)
#(.fail-explanation %))]
(->> error :error values)))
;; Usage
(validation-error-details error) ; where error holds the value you posted