This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-06-13
Channels
- # admin-announcements (1)
- # beginners (10)
- # boot (15)
- # cider (9)
- # clara (195)
- # cljsrn (24)
- # clojars (20)
- # clojure (46)
- # clojure-android (1)
- # clojure-germany (15)
- # clojure-greece (16)
- # clojure-nl (1)
- # clojure-russia (13)
- # clojure-spec (28)
- # clojure-uk (44)
- # clojurescript (104)
- # clojurex (1)
- # component (7)
- # css (2)
- # cursive (27)
- # datomic (92)
- # dirac (12)
- # emacs (5)
- # lambdaisland (3)
- # lein-figwheel (36)
- # mount (87)
- # off-topic (8)
- # om (102)
- # om-next (3)
- # onyx (30)
- # pedestal (3)
- # re-frame (26)
- # reagent (20)
- # robots (4)
- # specter (18)
- # spirituality-ethics (1)
- # untangled (127)
- # yada (11)
Я вот использую clojure.spec для валидации входных параметров с клиента. Если параметры не валидны, то хочу вернуть "человеческие" сообщения об ошибках. Все как обычно. Но вот clojure.spec/explain-data, /expain-str возвращают, скажем так, "нечеловеческие" сообщения об ошибках, которые просто так и не отдашь на клиент. Что вы делали в таком случае?
вот по етому я зделал http://funcool.github.io/struct/latest/ , штоби валидировать входые параметры от клиенте, spec ползуюсь в нутри, в бизнес логике...
я не вижу как спек мозно ползоватся дла форм валидации, он просто не для этого зделан...
дла клиента валидации нужно human errors, coersion, i18n, ... но спек он дла валидации внутреней апи... где human readable messages не нада клиенту отправлатя а нада видить кде ломается функция и почему...
хехе. решил вчерашнюю задачку с varargs на основе родных макросов. (fn [& args] (and (not (reduce #(and %1 %2) args)) (reduce #(or %1 %2) args)))
все-равно длиннее чем с some
конечно..