4

Schema coercer を作成し、結果として得られる一連のデータを強制しようとした結果:

#schema.utils.ErrorContainer{:error #<ValidationError schema.utils.ValidationError@2abfe6ca>}

実際の検証エラーの説明を得るにはどうすればよいですか?

4

1 に答える 1

2

ここ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
于 2015-02-18T21:20:43.367 に答える