#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
}
/>