1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 15:18:01 +00:00

Add Yup Schemas Are Validated Asynchronously as a javascript til

This commit is contained in:
jbranchaud
2018-03-07 12:53:11 -06:00
parent 0a554c50dd
commit ba4b629c53
2 changed files with 35 additions and 1 deletions

View File

@@ -0,0 +1,33 @@
# Yup Schemas Are Validated Asynchronously
[Yup](https://github.com/jquense/yup) provides a flexible object schema
validation DSL. For instance, if you want to enforce that a certain value is
a number, you can define something like this:
```javascript
const numSchema = yup.number();
```
You can then validate anything against that schema.
```javascript
const validator = (val) => {
numSchema.validate(val)
.then(result => {
console.log(result); // it is the value of `val`
return true;
})
.catch(error => {
console.log(error.errors); // array of validation error messages
return false;
});
};
```
The validation is async, so if it succeeds the `then` block is hit. If the
validation fails, it will fall through to the `catch`.
```javascript
validator(5) // => true
validator('what') // => false
```