core/lib/Drupal/Core/Form/FormBuilder.php | 3 ++- core/lib/Drupal/Core/Render/Element/Token.php | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Form/FormBuilder.php b/core/lib/Drupal/Core/Form/FormBuilder.php index 98f7c12..2ef90db 100644 --- a/core/lib/Drupal/Core/Form/FormBuilder.php +++ b/core/lib/Drupal/Core/Form/FormBuilder.php @@ -613,7 +613,8 @@ public function prepareForm($form_id, &$form, FormStateInterface &$form_state) { $form['form_token'] = array( '#id' => Html::getUniqueId('edit-' . $form_id . '-form-token'), '#type' => 'token', - '#default_value' => $context['placeholder'], + '#placeholder' => $context['placeholder'], + '#default_value' => $this->csrfToken->get($form['#token']), // Form processing and validation requires this value, so ensure the // submitted form value appears literally, regardless of custom #tree // and #parents being set elsewhere. diff --git a/core/lib/Drupal/Core/Render/Element/Token.php b/core/lib/Drupal/Core/Render/Element/Token.php index 8b526c2..0150c22 100644 --- a/core/lib/Drupal/Core/Render/Element/Token.php +++ b/core/lib/Drupal/Core/Render/Element/Token.php @@ -29,12 +29,18 @@ public function getInfo() { return array( '#input' => TRUE, '#pre_render' => array( + [$class, 'something'], array($class, 'preRenderHidden'), ), '#theme' => 'input__hidden', ); } + public static function something($element) { + $element['#attributes']['value'] = $element['#placeholder']; + return $element; + } + /** * {@inheritdoc} */