diff --git a/src/Element/Pattern.php b/src/Element/Pattern.php index e04ea99a..e65d8047 100644 --- a/src/Element/Pattern.php +++ b/src/Element/Pattern.php @@ -88,9 +88,12 @@ public static function processFields(array $element) { $fields = $element['#fields']; unset($element['#fields']); - foreach ($fields as $name => $field) { + $definition = UiPatterns::getPatternDefinition($element['#id']); + foreach ($definition->getFields() as $field_definition) { + $name = $field_definition->getName(); $key = '#' . $name; - $element[$key] = $field; + // Enforce that fields with no value are rendered empty. + $element[$key] = isset($fields[$name]) ? $fields[$name] : ['#markup' => '']; } } else {