For validating entire objects: https://github.com/hapijs/joi

...and its lightweight counterpart for the browser: https://github.com/jquense/yup