Skip to content

Introduce an easy way to create errors from onSubmit #2188

Description

@crutchcorn

While discussing items we want to improve for a future v2, validation around onSubmit has come up a number of times.

As such, we're going to be backporting an API coming in v2 to the current version of Form (v1):

useForm({
   // ...
   onSubmit: async ({ value, createValidationError }) => {
     try {
        await callEndpoint(value)
        navigateToOverview()
     } catch (error) {
        if (error.code === 400) {
           return createValidationError({ form: `The endpoint had an issue: ${error.message}` }) 
        }
     }
   }
})

This work needs #2128 to be merged first to avoid headaches with generics, but that should come shortly.

We want to hear from you if this API works/doesn't work for your needs and, if not, why not.

Thanks all!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions