Определите, когда поле, использующее массивы final-form-arrays, вставляется заново
Я использую реагирующее окончательное-формы-массивы, чтобы добавить динамические поля ввода в форму на основе массива данных, которые я связываю с формой, и это прекрасно работает. Пользователь может, нажав кнопку, добавить больше таких полей. В начале таких полей нет, а когда пользователь добавляет одно, поле начинается с пустого значения.
Теперь у меня проблема с пользовательским интерфейсом во время проверки. Эти поля являются обязательными, это означает, что для успешной проверки их значение не должно быть пустым. Я настроил свои правила проверки так, чтобы они срабатывали только тогда, когда была предпринята попытка отправки формы один раз, чтобы избежать загромождения пользовательского интерфейса, пока пользователь не решит отправить форму.
Это работает хорошо, за исключением этого случая:
- пользователь пытается отправить недопустимую форму, что приводит к отображению ошибок валидации (т. е. красная рамка вокруг недопустимых полей)
- пользователь нажимает кнопку, чтобы добавить новое динамическое поле, в результате чего это новое добавленное поле будет показано как недействительное
Я бы хотел, чтобы во вновь добавленных динамических полях не отображались ошибки проверки при их первом добавлении, но я не уверен, как определить, какие поля существовали при отправке формы, а какие - новые, чтобы пропустить проверка последнего, пока форма не будет отправлена снова.
Есть идеи?