-
Notifications
You must be signed in to change notification settings - Fork 31
Open
Description
If I set up a params object (naming it validate-account
to not shadow the params function, which I think is a bad example)
(def validate-account
(params :accounts
(validates [:name :real-name] :required true)
(permit [:name :real-name])))
The documented behavior is not met, in fact both the error case and the successful case do not work as described.
repl:39:> (rescue (validate-account {:name "hello"}))
(@{:name "name is required" :real-name "real-name is required"} nil)
repl:40:> (rescue (validate-account {:name "hello" :real-name "real"}))
(@{:name "name is required" :real-name "real-name is required"} nil)
Instead the true behavior is found when it is wrapped in {:body {...}}
repl:41:> (rescue (validate-account {:body {:name "hello"}}))
(@{:real-name "real-name is required"} nil)
repl:42:> (rescue (validate-account {:body {:name "hello" :real-name "real"}}))
(nil @{:db/table :accounts :name "hello" :real-name "real"})
Metadata
Metadata
Assignees
Labels
No labels