поле проверки с формиком

#reactjs #react-bootstrap #formik #yup

Вопрос:

Я использую форму с react-загрузкой, формиком и да.

https://stackblitz.com/edit/formik-reactbootstrap-validation-xdihwi

Проблема в том, что, когда я заполняю первое поле, второе автоматически ошибается, тогда как я хотел бы, чтобы поля были ошибочными только тогда, когда они не заполнены, и только поле за полем.

если я заполню 1-е поле, то второе будет ошибочно.

введите описание изображения здесь

У вас есть решение, чтобы исправить эту проблему?

Комментарии:

1. Скорее всего, вы выполняете проверку всех полей в valiateOnChange и validateOnBlur. Проверьте наличие этих полей и все поля, которые вы проверяете каждый раз. Это все? Можете ли вы показать нам код, чтобы мы могли вам лучше помочь?

Ответ №1:

вам нужно использовать handleBlur и touched решить эту проблему

https://stackblitz.com/edit/formik-reactbootstrap-validation-tdkizk?file=src/App.js

 <Form.Control
    value={formikProps.values.comment || ''}
    onChange={formikProps.handleChange}
    onBlur={formikProps.handleBlur}
    as="textarea"
    rows={3}
    name="comment"
    isInvalid={
      !!formikProps.touched.comment amp;amp;
      !!formikProps.errors.comment
    }
 />