Form schema validation | Mantine

use-form schema based validation with zod, yup, joi and superstruct

@mantine/form has built-in support for Standard Schema – a community specification implemented by many popular schema validation libraries including zod , valibot , and arktype . Use schemaResolver to validate forms with any Standard Schema-compliant library without extra resolver packages.

Full list of supported libraries

If you do not know which schema validation library to choose, use zod – it is the most modern and developer-friendly library.

By default, schemaResolver returns a function that may return a Promise , since the Standard Schema specification allows async validation. Pass { sync: true } when you know your schema is synchronous (e.g., Zod, Valibot) to get synchronous return types for form.validate() , form.validateField() , and form.isValid() .

Basic field validation:

Nested field validation:

List field validation:

Async validation – use schemaResolver without { sync: true } when your schema includes async checks (e.g., checking if an email is already taken via an API call). In this case, form.validate() , form.validateField() , and form.isValid() return promises:

Recommended articles