Open LeviSchuck opened 3 years ago
If I set up a params object (naming it validate-account to not shadow the params function, which I think is a bad example)
validate-account
(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 {...}}
{: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"})
Hmm maybe there should be a validate-body and validate for requests and for regular dictionaries
If I set up a params object (naming it
validate-account
to not shadow the params function, which I think is a bad example)The documented behavior is not met, in fact both the error case and the successful case do not work as described.
Instead the true behavior is found when it is wrapped in
{:body {...}}