Schema coercer を作成し、結果として得られる一連のデータを強制しようとした結果:
#schema.utils.ErrorContainer{:error #<ValidationError schema.utils.ValidationError@2abfe6ca>}
実際の検証エラーの説明を得るにはどうすればよいですか?
Schema coercer を作成し、結果として得られる一連のデータを強制しようとした結果:
#schema.utils.ErrorContainer{:error #<ValidationError schema.utils.ValidationError@2abfe6ca>}
実際の検証エラーの説明を得るにはどうすればよいですか?
ここValidationError
でタイプの定義を見つけることができます(JVMでClojureを使用しているように見えるので、式を削除しました):#+cljs
(deftype ValidationError [schema value expectation-delay fail-explanation])
ErrorContainer
レコードの定義は次のとおりです。
(defrecord ErrorContainer [error])
したがって、エラーに関する詳細情報を取得するには、 inner の任意のフィールドにアクセスできます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