secretary
secretary copied to clipboard
defroutes w/ validations nil param fix
I was getting errors while using defroute
with validations.
My vector route looked like:
(defroute ["/patient/:patient-id" :patient-id #"pat_[A-Za-z0-9]{16}"]
{:keys [patient-id] :as params}
(do))
The error printed to the JS console was:
re-matches must match against a string
It seems that calling re-matches when the value pulled from params is nil throws an error in invalid-params
fn.
This pr adds an additional check to see if the param value is non-nil before trying to validate it via regex. If it is nil, then it is essentially invalid as it doesn't match the route.
Thanks for the great library!
@RyanBertrand
Any reason you're not using nil?
?
Please add a unit test for this change.