clj-decline
clj-decline copied to clipboard
dynamic error messages support
I suggest adding error function support to "validation", so it would be possible to create errors based on invalid params. For example, reporting "Your title is 3 letter long, but is must be at least 10 letters".
(defn validation
"Make a validation `v' from `predicate'. If (predicate args*) is false,
(v args*) returns error set `errors', nil otherwise."
[predicate error]
(fn [& args]
(if-not (apply predicate args)
(if (fn? error) (error args) error)))
This also makes possible to localize error messages per user or per url.