Как проверить ошибку ValidationError, возникшую во время приведения схемы Prismatic?
В результате создания схемы Scheer Coercer, а затем пытаясь принудить набор данных, я получаю в результате:
#schema.utils.ErrorContainer{:error #<ValidationError schema.utils.ValidationError@2abfe6ca>}
Как получить объяснение того, что является фактической ошибкой проверки?
1 ответ
Вы можете найти определение ValidationError
введите здесь (так как вы, кажется, используете Clojure на JVM, я удалил #+cljs
выражения):
(deftype ValidationError [schema value expectation-delay fail-explanation])
И определение для ErrorContainer
запишите здесь:
(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