diff --git a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php index 557d0c9..5f5c708 100644 --- a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php +++ b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php @@ -19,11 +19,12 @@ class ValidReferenceConstraintValidator extends ConstraintValidator { * {@inheritdoc} */ public function validate($value, Constraint $constraint) { - if (!$value->isEmpty && $value->target_id === NULL && !$value->entity->isNew()) { + /** @var \Drupal\Core\Field\FieldItemInterface $value */ + /** @var ValidReferenceConstraint $constraint */ + if (!$value->isEmpty() && $value->target_id === NULL && !$value->entity->isNew()) { $this->context->addViolation($constraint->nullMessage); return; } - /* @var \Drupal\Core\Field\FieldItemInterface $value */ if (!isset($value)) { return; } diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceItemTest.php b/core/modules/field/src/Tests/EntityReference/EntityReferenceItemTest.php index 728a161..6541691 100644 --- a/core/modules/field/src/Tests/EntityReference/EntityReferenceItemTest.php +++ b/core/modules/field/src/Tests/EntityReference/EntityReferenceItemTest.php @@ -265,13 +265,13 @@ public function testEntitySaveOrder() { // Now assign the unsaved term to the field. $entity->field_test_taxonomy_term->entity = $term; $entity->name->value = $this->randomMachineName(); - // Now save the term. // Now get the field value. $value = $entity->get('field_test_taxonomy_term'); $this->assertTrue(empty($value['target_id'])); $this->assertNull($entity->field_test_taxonomy_term->target_id); // And then set it. $entity->field_test_taxonomy_term = $value; + // Now save the term. $term->save(); // And then the entity. $entity->save();