У меня есть React Redux Form, в которой есть несколько обязательных полей, и ее начальные значения установлены с initialValues prop
Значения инициализируются нормально, но когда я пытаюсь сохранить форму, она выдает ошибку, говоря, что поле является обязательным (хотя там есть значение). Если я просто нажимаю на поле, затем сохраняю снова, все работает отлично!
Я попробовал все возможные способы, используя initialize / reset / destroy / change / blur / et c, чтобы вручную коснуться или установить поле все безрезультатно
reduxForm({
form: 'formName',
touchOnChange: true,
touchOnBlur: true
}),
useEffect(() => {
if (initialValues && initialValues.field) {
change(field, value)
blur(field, value)
}
}, [initialValues])
и целый ряд различных опций, как указано выше
То же поведение, если я пытаюсь сбросить и повторно запустить форму или вызвать изменение. Если я просто нажму на поле, тогда проверка пройдет, как и ожидалось.
Также попытался enableReinitialize: true
, но это также не изменило поведение
initialValues
устанавливается через asyn c вызов, который обновляет избыточное состояние var, я думаю, это проблема под рукой Мне не удалось воспроизвести ни с одним из примеров песочницы mvp.
Значения в полях устанавливаются очень хорошо, но это похоже на то, что валидаторы просто не проверяют поле после установки initialValue, если только пользователь выполняет щелчок мышью по ним.
Как я могу сказать форме, что там уже есть значение, просто проверьте, не нажимая вручную на поле
- некоторая новая информация
Если я коснусь поля, а затем размываю поле ... проверка завершится неудачно сразу же, вместо того, чтобы ждать нажатия кнопки подтверждения, поэтому действительно нужно думать, что во входных данных нет значения до тех пор, пока не будет нажата кнопка мыши