Zod — TypeScript-first schema declaration and validation library #6

Nhan Nguyen
2 min readDec 10, 2023

--

Make Schemas Optional

We have a function called validateFormInput:

The values type is unknown, which is safe in this case because we only have a vague idea of the form’s shape. In this case, we are collecting a name and phoneNumber as seen in the Form object schema:

We have a failing test when a phone number is not included.

We need to update our Form to pass the validation test whether or not a phoneNumber string has been included.

By adding .optional() onto the end of our phoneNumber schema, our test will pass:

What we are saying here is that name is a string, and phoneNumber is either a string or undefined.

We do not have to parse anything, making this an excellentway to set a property as optional.

I hope you found it useful. Thanks for reading. 🙏

Let’s get connected! You can find me on:

--

--

Nhan Nguyen
Nhan Nguyen

No responses yet