I'm not a fan of the package used here, the syntax of chaining functions to validate a single input within your routing file, something that should likely be fairly static.<p>At my old company, we used `whitelister`. We created it in-house then open sourced it [1]. There is JSON schema, and we could have moved on to that, but it was too much for what we needed.<p>1. <a href="https://spireteam.github.io/whitelister/" rel="nofollow">https://spireteam.github.io/whitelister/</a>