我写了一些simple dsl来验证地图,它可以做什么:
(ns foo.validator)
(defrule cannot-foo
{:message "Value is %s. It cannot equal to string foo"}
[value]
(not (= value "foo")))
(defvalidator cannot-foo-validator
:name [[cannot-foo]])
(cannot-foo-validator {:name "foo"}) ;; {:error <message here>}
在引擎盖下,它将函数绑定到给定的符号,例如cannot-foo
和cannot-foo-validator
。
如何在clojurescript上使用它?我确实喜欢clojurescript wiki:
(ns cljs.myfoo.core
(:require-macros [foo.validator :as f]))
它在没有警告的情况下编译,但如果我开始使用它:
(ns cljs.myfoo.core
(:require-macros [foo.validator :as f]))
(cannot-foo-validator {:name "foo"})
编译时,会投诉No such namespace: foo.validator .....
。
答案 0 :(得分:0)
您需要确保foo.validator
或.clj
文件中包含.cljc
。