clojure - 具有最小和最大限制的架构?

标签 clojure plumatic-schema

是否可以向以下架构添加最小和最大限制?

我希望架构在 Number 为 < 0 且 > 100 时抛出异常。

(def Number
  schema/Int)

最佳答案

您可以使用schema/pred来合并任意谓词:

(schema/pred #(<= 0 % 100))

您还可以使用 schema/constrained 将其与架构结合起来:

(schema/constrained schema/Int #(<= 0 % 100))

如果您命名谓词(例如 in-range),您会收到更好的错误消息。

关于clojure - 具有最小和最大限制的架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50178212/

相关文章:

clojure - 为什么 ring 的资源响应以 application/octet-stream 内容类型响应?

clojure - :body-params vs :form-params in compojure-api

graphql - 使用 Prisma 生成的包装器查询节点时包含关系

clojure - 如何使用 plumatic/schema 生成用户友好的验证消息?

clojure - 为什么使用 onyx 的棱柱模式验证失败(ExceptionInfo 值与模式不匹配)?

tomcat - 部署到 Tomcat 的 leinring uberjar 的路由不正确

clojure - 我可以清理repl吗?

clojure - 在字符串列表中每第 n 个元素插入字符串

Clojure 手动查找序列中的第 n 个元素