clj-decline icon indicating copy to clipboard operation
clj-decline copied to clipboard

dynamic error messages support

Open SergeyDidenko opened this issue 13 years ago • 1 comments

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)))

SergeyDidenko avatar Jun 29 '11 23:06 SergeyDidenko

This also makes possible to localize error messages per user or per url.

SergeyDidenko avatar Jun 29 '11 23:06 SergeyDidenko