Сбор данных в многоступенчатой форме для отправки в API
Я подключаюсь к API, который возвращает некоторые данные на основе почтового индекса пользователя. Эти данные должны быть включены в полезную нагрузку второго вызова API вместе с другими значениями формы.
Я хотел создать веб-форму как многоступенчатую, на первой странице собирается почтовый индекс, а после нажатия на следующую страницу выполните вызов API для отправки почтового индекса и сохраните ответ от этого вызова, чтобы на второй странице Отправка отправляла через другой вызов API этот ответ данные плюс все значения формы.
Это Получение черновика данных в веб-форме hook_form_FORM_ID_alter() кажется ответом, но не совсем.
1 answers
Вам следует написать пользовательский обработчик веб-форм, который добавляет возвращаемые данные API в $form_state, а затем изменяет элементы формы по мере необходимости. Есть несколько доступных сообщений в блоге о написании обработчиков веб-форм.
Вот как получить текущую страницу из $form_state.
/** @var \Drupal\webform\WebformSubmissionForm $form_object */
$form_object = $form_state->getFormObject();
$current_page = $form_state->get('current_page');