Same name and namespace in other branches
- 8.9.x core/lib/Drupal/Core/TypedData/DataReferenceTargetDefinition.php \Drupal\Core\TypedData\DataReferenceTargetDefinition
- 9 core/lib/Drupal/Core/TypedData/DataReferenceTargetDefinition.php \Drupal\Core\TypedData\DataReferenceTargetDefinition
A typed data definition class for the entity reference target_id property.
The target_id property differs from other data definitions in that it is required at the storage level, but not at the validation level. This is because its value can be set just-in-time using the preSave() method.
Validation for the target_id property is provided by the 'ValidReference' validation constraint.
Hierarchy
- class \Drupal\Core\TypedData\DataDefinition implements \Drupal\Core\TypedData\ArrayAccess, DataDefinitionInterface uses TypedDataTrait
- class \Drupal\Core\TypedData\DataReferenceTargetDefinition
Expanded class hierarchy of DataReferenceTargetDefinition
See also
\Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem::preSave()
2 files declare their use of DataReferenceTargetDefinition
- DeprecatedReferenceItem.php in core/
modules/ jsonapi/ tests/ modules/ jsonapi_test_reference_types/ src/ Plugin/ Field/ FieldType/ DeprecatedReferenceItem.php - FieldResolver.php in core/
modules/ jsonapi/ src/ Context/ FieldResolver.php
File
- core/
lib/ Drupal/ Core/ TypedData/ DataReferenceTargetDefinition.php, line 17
Namespace
Drupal\Core\TypedDataView source
class DataReferenceTargetDefinition extends DataDefinition {
/**
* {@inheritdoc}
*/
public function getConstraints() {
$constraints = parent::getConstraints();
// If this data definition is marked as required for the sake of schema
// definitions, we don't enforce it using the NotNull constraint. Instead
// \Drupal\Core\Field\EntityReferenceItem is validated by the
// 'ValidReference' constraint that operates at the field-item level. This
// constraint takes into consideration that the target_id property can
// be derived from the entity property.
unset($constraints['NotNull']);
return $constraints;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DataReferenceTargetDefinition:: |
public | function |
Returns an array of validation constraints. Overrides DataDefinition:: |
|
DataDefinition:: |
public static | function | Creates a new data definition. | 5 |
DataDefinition:: |
public static | function |
Creates a new data definition object. Overrides DataDefinitionInterface:: |
5 |
DataDefinition:: |
public | function | Constructs a new data definition object. | 1 |
DataDefinition:: |
public | function |
Returns the data type of the data. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function | Sets the data type. | 1 |
DataDefinition:: |
public | function |
Returns a human readable label. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function | Sets the human-readable label. | |
DataDefinition:: |
public | function |
Returns a human readable description. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function | Sets the human-readable description. | |
DataDefinition:: |
public | function |
Returns whether the data is multi-valued, i.e. a list of data items. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Determines whether the data is read-only. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function | Sets whether the data is read-only. | |
DataDefinition:: |
public | function |
Determines whether the data value is computed. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function | Sets whether the data is computed. | |
DataDefinition:: |
public | function |
Determines whether a data value is required. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function | Sets whether the data is required. | |
DataDefinition:: |
public | function |
Returns the class used for creating the typed data object. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function | Sets the class used for creating the typed data object. | |
DataDefinition:: |
public | function |
Returns the array of settings, as required by the used class. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function | Sets the array of settings, as required by the used class. | 2 |
DataDefinition:: |
public | function |
Returns the value of a given setting. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function | Sets a definition setting. | 2 |
DataDefinition:: |
public | function |
Returns a validation constraint. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function | Sets an array of validation constraints. | |
DataDefinition:: |
public | function |
Adds a validation constraint. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function | ||
DataDefinition:: |
public | function | ||
DataDefinition:: |
public | function | ||
DataDefinition:: |
public | function | ||
DataDefinition:: |
public | function | Returns all definition values as array. | |
DataDefinition:: |
public | function | 2 | |
DataDefinition:: |
public | function |
Determines whether the data value is internal. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function | Sets the whether the data value should be internal. | |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 1 |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 1 |
DataDefinition:: |
protected | property | The array holding values for all definition keys. | |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. |