secretary icon indicating copy to clipboard operation
secretary copied to clipboard

defroutes w/ validations nil param fix

Open RyanBertrand opened this issue 8 years ago • 1 comments

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 avatar Jul 26 '16 17:07 RyanBertrand

@RyanBertrand

Any reason you're not using nil?? Please add a unit test for this change.

borkdude avatar Nov 15 '18 10:11 borkdude