diff --git a/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php b/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php index 3a4e478..8c6aadf 100644 --- a/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php +++ b/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php @@ -134,8 +134,8 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen $element += [ '#type' => 'select', '#options' => $target_states, - '#default_value' => $default->id(), - '#published' => $default->isPublishedState(), + '#default_value' => isset($target_states[$default->id()]) ? $default->id() : NULL, + '#empty_option' => '-- Select moderation state --', '#key_column' => $this->column, ]; $element['#element_validate'][] = array(get_class($this), 'validateElement'); @@ -147,6 +147,10 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen * {@inheritdoc} */ public static function validateElement(array $element, FormStateInterface $form_state) { + if (empty($element['#value'])) { + $form_state->setError($element, t('Please select a moderation state.')); + return; + } $form_state->setValueForElement($element, [$element['#key_column'] => $element['#value']]); }