onSubmit - setError is not a function
cherring07 opened this issue · 1 comments
cherring07 commented
Perhaps undocumented (sorry if I have missed it)
When using the useFormAPI hook with setError within onSubmitI get the following error.
formApi.setError is not a function
const Test= () => {
const formApi = useFormApi();
const onSubmit = () => {
formApi.setError('example', 'error!');
};
render (
<Form onSubmit={onSubmit}>
<Input name="example" label="Example" />
<button type="submit">Submit</button>)
</Form>
);
}
joepuzzo commented
You are outside the context of the form.
- I would highly reccomend NOT setting errors directly as there is a lifecylce for this
- If you do need the formApi outside of the context of a
<Form
you need to use<Form formApiRef={someRef}
Then you can do formApiRef.current.setValue('example', 'Foo')
as an example