Final form: revalidate form after validator remove

52 views Asked by At

I have a form level validator on my fields and setState function to remove it.

const [validator, setValidator] = useState((value) => {...});

<Field
  name="name"
  component={component}
  validator={validator}
  type="string"
/>

<a onClick={() => {setValidator(undefined)}}>Remove validator</a>

Problem is that even after validator is removed from the field form.state.error still contains error on this field and I cannot submit form.

Is there any way to run revalidation on the field I removed validator from?

I've tried to call formApi.resetFieldState('name') right after setValidator call but it doesn't help.

1

There are 1 answers

0
Artem Loginov On

Ok, so formApi.resetFieldState('name') works, but it need to be called after Field is mounted for it to take effect

https://github.com/final-form/react-final-form/issues/621