举一个最小的例子,我有一张包含以下字段的地图。
{:name
:password
:confirm-password}
我已经为这个形状写了以下规格。
(s/def ::name string?)
;; password is a string and between 8 - 255 characters
(s/def ::password (s/and string? #(<= 8 (count %) 255))
;; How to write (s/def ::confirm-password)
(s/def ::sign-up-form (s/keys :req-un [::name
::password
::confirm-password])
我将如何编写::confirm-password
规范来检查两个值是否相等?即我需要访问其他字段(密码)才能访问它。
我尝试过的一件事是在注册表单上编写规范以访问密钥以确保它们是相同的并且那种工作但问题是我失去了路径特异性。基本上,生成的规范/问题指向注册表单,而不是::confirm-password
我理想中想要的。