Don't use map
for sequence of operations. map
is for transforming a sequence to something else. What you need to use is doseq
Instead of:
(map (fn [f]
(vali/rule (vali/has-value? ((keyword f) data))
[(keyword f) "Write something!!"]))
fields))
Use this:
(doseq [f fields]
(vali/rule (vali/has-value? ((keyword f) data))
[(keyword f) "Write something!!"]))