Yup
Dead simple Object schema validation
...Each can be performed together (such as HTML form validation) or seperately (such as deserializing trusted data from APIs). Yup always relies on the Promise global object to handle asynchronous values as well as Set and Map. For browsers that do not support these, you'll need to include a polyfill, such as core-js.