You are here

function _webform_form_config_translate_add_form_validate in Webform 8.5

Validate callback; Validates and cleanups webform elements.

1 string reference to '_webform_form_config_translate_add_form_validate'
webform_form_config_translation_add_form_alter in includes/webform.translation.inc
Implements hook_form_FORM_ID_alter() for config translation add form.

File

includes/webform.translation.inc, line 155
Webform module translation hooks.

Code

function _webform_form_config_translate_add_form_validate(&$form, FormStateInterface $form_state) {
  if ($form_state::hasAnyErrors()) {
    return;
  }
  $values = $form_state
    ->getValues();
  $config_name = $form_state
    ->get('webform_config_name');
  $source_elements = $form_state
    ->get('webform_source_elements');
  $submitted_translation_elements = Yaml::decode($values['translation']['config_names'][$config_name]['elements']);
  $translation_elements = $source_elements;

  // Remove all custom translation properties.
  WebformElementHelper::merge($translation_elements, $submitted_translation_elements);

  // Remove any translation property that has not been translated.
  _webform_form_config_translate_add_form_filter_elements($translation_elements, $source_elements);

  // Update webform value.
  $values['translation']['config_names'][$config_name]['elements'] = $translation_elements ? Yaml::encode($translation_elements) : '';
  $form_state
    ->setValues($values);
}