【发布时间】:2022-08-18 17:58:18
【问题描述】:
我有一个数据类型为大十进制的变量。如何在 Malli 中验证这一点?
查看 malli 中的谓词类型,没有一种用于大十进制的。 https://github.com/metosin/malli#built-in-schemas
那么我该如何验证呢?
我们用什么数字?在马里。有人可以为此提供一个例子吗?
标签: validation clojure schema malli
我有一个数据类型为大十进制的变量。如何在 Malli 中验证这一点?
查看 malli 中的谓词类型,没有一种用于大十进制的。 https://github.com/metosin/malli#built-in-schemas
那么我该如何验证呢?
我们用什么数字?在马里。有人可以为此提供一个例子吗?
标签: validation clojure schema malli
(require
'[malli.core :as m]
'[malli.registry :as mr])
(mr/set-default-registry!
(merge
(m/default-schemas)
{:bigdec? (m/-simple-schema {:type :bigdec?
:pred #(instance? BigDecimal %)})}))
(let [schema [:map [:n :bigdec?]]]
{:invalid (m/explain schema {:n 1})
:valid (m/explain schema {:n (BigDecimal. 1)})})
【讨论】:
schema是这个[:map [:n :bigint?]]
bigdec? 不是更好的名字吗?