当前 :validate
选项接受一个验证函数和字符串错误消息。
我们能否将第二个参数扩展为函数,这样您就可以返回一个错误消息,例如 "--foo 应该大于 10,但却是:11
。
我们甚至可以将 clojure.spec.alpha
或 malli
插入其中
(def cli-options
[["-n" "--number NUM" "A number"
:parse-fn (m/decoder int? mt/string-transformer)
:validate [(fn [input]
(m/validate [:< 100] input))
(fn [input]
(me/humanize (m/explain [:< 100] input)))]]])